From 3df5a092a326e1394c1db2d276d8e6e0a6407085 Mon Sep 17 00:00:00 2001 From: Pier CeccoPierangioliEugenio Date: Tue, 29 Apr 2025 15:56:58 +0100 Subject: [PATCH] chore: fix deployment (#394) --- apps/ttkode/pyproject.toml | 8 +- apps/ttkode/ttkode/__init__.py | 4 +- apps/ttkode/ttkode/__main__.py | 60 ++++++++++++- apps/ttkode/ttkode/app/__init__.py | 1 - apps/ttkode/ttkode/app/main.py | 84 ------------------- apps/ttkode/ttkode/plugins/_010/__init__.py | 0 apps/ttkode/ttkode/plugins/_010_findplugin.py | 7 +- 7 files changed, 73 insertions(+), 91 deletions(-) delete mode 100644 apps/ttkode/ttkode/app/main.py create mode 100644 apps/ttkode/ttkode/plugins/_010/__init__.py diff --git a/apps/ttkode/pyproject.toml b/apps/ttkode/pyproject.toml index 4d8f1c41..e6b89266 100644 --- a/apps/ttkode/pyproject.toml +++ b/apps/ttkode/pyproject.toml @@ -37,10 +37,14 @@ Issues = "https://github.com/ceccopierangiolieugenio/pyTermTk/issues" Changelog = "https://github.com/ceccopierangiolieugenio/pyTermTk/blob/main/apps/ttkode/CHANGELOG.md" [project.scripts] -ttkode = "ttkode:main" +ttkode = "ttkode.__main__:main" [tool.setuptools] -packages = ["ttkode", "ttkode.app"] +packages = [ + "ttkode", "ttkode.app", + "ttkode.plugins", + "ttkode.plugins._010", + ] [tool.setuptools.dynamic] version = {attr = "ttkode.__version__"} diff --git a/apps/ttkode/ttkode/__init__.py b/apps/ttkode/ttkode/__init__.py index 3accdc84..d7bb89c4 100755 --- a/apps/ttkode/ttkode/__init__.py +++ b/apps/ttkode/ttkode/__init__.py @@ -24,6 +24,6 @@ __version__:str = '0.3.0-a.2' -from .helper import TTkodeHelper from .plugin import TTkodePlugin, TTkodePluginActivity -from .proxy import TTKodeViewerProxy, ttkodeProxy \ No newline at end of file +from .proxy import TTKodeViewerProxy, ttkodeProxy +from .helper import TTkodeHelper \ No newline at end of file diff --git a/apps/ttkode/ttkode/__main__.py b/apps/ttkode/ttkode/__main__.py index eecaa338..8745467b 100644 --- a/apps/ttkode/ttkode/__main__.py +++ b/apps/ttkode/ttkode/__main__.py @@ -22,7 +22,65 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -from ttkode.app import main +__all__ = ['main'] + +import argparse + +import appdirs + +from TermTk import TTk, TTkTerm, TTkTheme +from TermTk import TTkLog + +from ttkode import TTkodeHelper +from ttkode import ttkodeProxy +from ttkode.app.ttkode import TTKode +from ttkode.app.cfg import TTKodeCfg + + +def main(): + TTKodeCfg.pathCfg = appdirs.user_config_dir("ttkode") + + parser = argparse.ArgumentParser() + # parser.add_argument('-f', help='Full Screen', action='store_true') + parser.add_argument('-c', help=f'config folder (default: "{TTKodeCfg.pathCfg}")', default=TTKodeCfg.pathCfg) + parser.add_argument('filename', type=str, nargs='*', + help='the filename/s') + args = parser.parse_args() + + # TTkLog.use_default_file_logging() + + TTKodeCfg.pathCfg = args.c + TTkLog.debug(f"Config Path: {TTKodeCfg.pathCfg}") + + TTKodeCfg.load() + + # if 'theme' not in TTKodeCfg.options: + # TTKodeCfg.options['theme'] = 'NERD' + # optionsLoadTheme(TTKodeCfg.options['theme']) + + TTkTheme.loadTheme(TTkTheme.NERD) + + TTkodeHelper._loadPlugins() + + ttkode = TTKode() + ttkodeProxy.setTTKode(ttkode) + + root = TTk( layout=ttkode, + title="TTkode", + mouseTrack=True, + sigmask=( + # TTkTerm.Sigmask.CTRL_C | + TTkTerm.Sigmask.CTRL_Q | + TTkTerm.Sigmask.CTRL_S | + TTkTerm.Sigmask.CTRL_Y | + TTkTerm.Sigmask.CTRL_Z )) + + for file in args.filename: + ttkodeProxy.openFile(file) + + TTkodeHelper._runPlugins() + + root.mainloop() if __name__ == '__main__': main() \ No newline at end of file diff --git a/apps/ttkode/ttkode/app/__init__.py b/apps/ttkode/ttkode/app/__init__.py index 009ddf3a..417d9c42 100644 --- a/apps/ttkode/ttkode/app/__init__.py +++ b/apps/ttkode/ttkode/app/__init__.py @@ -24,4 +24,3 @@ from .cfg import * # from .glbl import * from .ttkode import * -from .main import * diff --git a/apps/ttkode/ttkode/app/main.py b/apps/ttkode/ttkode/app/main.py deleted file mode 100644 index a79bac0c..00000000 --- a/apps/ttkode/ttkode/app/main.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python3 - -# MIT License -# -# Copyright (c) 2021 Eugenio Parodi -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -__all__ = ['main'] - -import argparse - -import appdirs - -from TermTk import TTk, TTkTerm, TTkTheme -from TermTk import TTkLog - -from ttkode import TTkodeHelper -from ttkode import ttkodeProxy - -from .ttkode import TTKode -from .cfg import TTKodeCfg - - -def main(): - TTKodeCfg.pathCfg = appdirs.user_config_dir("ttkode") - - parser = argparse.ArgumentParser() - # parser.add_argument('-f', help='Full Screen', action='store_true') - parser.add_argument('-c', help=f'config folder (default: "{TTKodeCfg.pathCfg}")', default=TTKodeCfg.pathCfg) - parser.add_argument('filename', type=str, nargs='*', - help='the filename/s') - args = parser.parse_args() - - # TTkLog.use_default_file_logging() - - TTKodeCfg.pathCfg = args.c - TTkLog.debug(f"Config Path: {TTKodeCfg.pathCfg}") - - TTKodeCfg.load() - - # if 'theme' not in TTKodeCfg.options: - # TTKodeCfg.options['theme'] = 'NERD' - # optionsLoadTheme(TTKodeCfg.options['theme']) - - TTkTheme.loadTheme(TTkTheme.NERD) - - TTkodeHelper._loadPlugins() - - ttkode = TTKode() - ttkodeProxy.setTTKode(ttkode) - - root = TTk( layout=ttkode, - title="TTkode", - mouseTrack=True, - sigmask=( - # TTkTerm.Sigmask.CTRL_C | - TTkTerm.Sigmask.CTRL_Q | - TTkTerm.Sigmask.CTRL_S | - TTkTerm.Sigmask.CTRL_Y | - TTkTerm.Sigmask.CTRL_Z )) - - for file in args.filename: - ttkodeProxy.openFile(file) - - TTkodeHelper._runPlugins() - - root.mainloop() diff --git a/apps/ttkode/ttkode/plugins/_010/__init__.py b/apps/ttkode/ttkode/plugins/_010/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/apps/ttkode/ttkode/plugins/_010_findplugin.py b/apps/ttkode/ttkode/plugins/_010_findplugin.py index f6a4e04a..ef99326b 100644 --- a/apps/ttkode/ttkode/plugins/_010_findplugin.py +++ b/apps/ttkode/ttkode/plugins/_010_findplugin.py @@ -22,11 +22,16 @@ __all__:list[str] = [] +import os, sys + +current_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, current_dir) + import TermTk as ttk import ttkode -from ttkode.plugins._010.findwidget import FindWidget +from _010.findwidget import FindWidget _icon:str = ( "╔═╗\n"