From 231f99c4614da6f90c56044d07265ce00e2ddd1b Mon Sep 17 00:00:00 2001 From: tutosrive Date: Thu, 26 Jun 2025 12:25:25 -0500 Subject: [PATCH] Read Ref #12. Fix relative paths, this to can run as module python! --- .gitignore | 5 ++++- src/PYMD/_pymd.py | 3 ++- src/PYMD/database/Manager.py | 5 +++-- src/PYMD/interface/_about.py | 3 ++- src/PYMD/interface/_initialHelp.py | 7 ++++--- src/PYMD/interface/_interface.py | 4 ++-- src/PYMD/interface/_lang.py | 5 +++-- src/PYMD/interface/_osl.py | 7 ++++--- src/PYMD/logic/Converter.py | 3 ++- src/PYMD/utils/FilesManager.py | 2 +- 10 files changed, 27 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 4c9c7a1..51574d0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ tests/ **/__pycache__ **/*.db .idea -.vscode \ No newline at end of file +.vscode +**/dist/ +**/build/ +**/*.egg-info \ No newline at end of file diff --git a/src/PYMD/_pymd.py b/src/PYMD/_pymd.py index ba6954c..4fe758e 100644 --- a/src/PYMD/_pymd.py +++ b/src/PYMD/_pymd.py @@ -1,8 +1,9 @@ +from pathlib import Path from .database import Manager from chromologger import Logger as Log # Initial paths to files -log:Log = Log('./logs/log_pymd.log') +log:Log = Log(f'{Path(__file__).parent}/logs/log_pymd.log') class Pymd: @staticmethod diff --git a/src/PYMD/database/Manager.py b/src/PYMD/database/Manager.py index 9b0e341..d627c01 100644 --- a/src/PYMD/database/Manager.py +++ b/src/PYMD/database/Manager.py @@ -1,12 +1,13 @@ +from pathlib import Path from sqlite3 import Cursor from typing import Optional from sqlazo import Database from chromologger import Logger as Log -log: Log = Log('./log.log') +log: Log = Log(f'{Path(__file__).parent.parent}/log.log') def database_config(): - db: Database = Database('./database/config.db', False) + db: Database = Database(f'{Path(__file__).parent.parent}/database/config.db', False) # Query to validate that the table exists validate_query: Optional[Cursor] = db.get_data_where('config_ui', 'id == 1') diff --git a/src/PYMD/interface/_about.py b/src/PYMD/interface/_about.py index e68c211..e9e5c4b 100644 --- a/src/PYMD/interface/_about.py +++ b/src/PYMD/interface/_about.py @@ -1,4 +1,5 @@ # This Python file uses the following encoding: utf-8 +from pathlib import Path from PySide6.QtCore import Qt from PySide6.QtWidgets import QDialog from .ui_dialog_about import Ui_about_dialog @@ -14,6 +15,6 @@ def __init__(self, parent=None, lang=None): def load_content(self): # Load information - with open(f'./interface/translations/others/ABOUT_{self.__lang}.trg', 'r', encoding='utf-8') as __about: + with open(f'{Path(__file__).parent.parent}/interface/translations/others/ABOUT_{self.__lang}.trg', 'r', encoding='utf-8') as __about: self.__dialog.text_about.setTextFormat(Qt.TextFormat.RichText) self.__dialog.text_about.setText(__about.read()) diff --git a/src/PYMD/interface/_initialHelp.py b/src/PYMD/interface/_initialHelp.py index c93f89a..b3018b2 100644 --- a/src/PYMD/interface/_initialHelp.py +++ b/src/PYMD/interface/_initialHelp.py @@ -1,3 +1,4 @@ +from pathlib import Path from PySide6.QtCore import Qt, QRect from PySide6.QtWidgets import QLabel, QTextEdit, QGridLayout, QFrame, QSizePolicy from ._lang import LanguageManager @@ -9,8 +10,8 @@ def __init__(self, window, app): self.__logo = QLabel() self.__logo.setMinimumSize(500, 500) self.__logo.setTextFormat(Qt.TextFormat.RichText) - self.__logo.setText(''' - ''') + self.__logo.setText(''+ + f'') self.info: QLabel= QLabel() self._w.ui.container_body.addWidget(self.__logo, 0, 0, 1, 1, alignment=Qt.AlignAbsolute) self._w.ui.container_body.addWidget(self.info, 0, 0, 1, 1, alignment=Qt.AlignHCenter) @@ -20,7 +21,7 @@ def load_info(self, lang_code: str=None): __lang = self.__lang.lang_code if lang_code is None else lang_code __info_md: str = "" # This is not a translator, just a file - with open(f"./interface/translations/others/IH_{__lang}.srm", "r", encoding="utf-8") as lang: + with open(f"{Path(__file__).parent.parent}/interface/translations/others/IH_{__lang}.srm", "r", encoding="utf-8") as lang: __info_md = lang.read() self.info.setTextFormat(Qt.TextFormat.RichText) self.info.setText(__info_md) diff --git a/src/PYMD/interface/_interface.py b/src/PYMD/interface/_interface.py index 4cdb64e..e3f85b6 100644 --- a/src/PYMD/interface/_interface.py +++ b/src/PYMD/interface/_interface.py @@ -17,8 +17,8 @@ # Feature: Change focus order (the exit dialog focus is "ok", should be "cancel") -db = Database('./database/config.db', False) -log:Log = Log('./logs/log_interface.log') +db = Database(f'{Path(__file__).parent.parent}/database/config.db', False) +log:Log = Log(f'{Path(__file__).parent.parent}/logs/log_interface.log') app = QApplication(sys.argv) lang_manager:LanguageManager = LanguageManager(app) diff --git a/src/PYMD/interface/_lang.py b/src/PYMD/interface/_lang.py index ccae466..1361800 100644 --- a/src/PYMD/interface/_lang.py +++ b/src/PYMD/interface/_lang.py @@ -1,4 +1,5 @@ from typing import Optional +from pathlib import Path from PySide6.QtCore import Qt, QTranslator, QLocale from PySide6.QtWidgets import QApplication, QMainWindow @@ -6,13 +7,13 @@ from PySide6.QtWidgets import QDialog from sqlazo import Database -db = Database('./database/config.db', False) +db = Database(f'{Path(__file__).parent.parent}/database/config.db', False) class LanguageManager(QDialog): def __init__(self, app:QApplication=None): # es_CO is default self.lang_code: str = db.get_data_where('config_ui', 'name == "current_lang_code"').fetchone()[2] - self.__dir:str = './interface/translations/locale' + self.__dir:str = f'{Path(__file__).parent.parent}/interface/translations/locale' self.lang_file:str = '' self.__translator:QTranslator = QTranslator(app) self.__app:QApplication = app diff --git a/src/PYMD/interface/_osl.py b/src/PYMD/interface/_osl.py index 9dde1ca..f1a3d9f 100644 --- a/src/PYMD/interface/_osl.py +++ b/src/PYMD/interface/_osl.py @@ -1,3 +1,4 @@ +from pathlib import Path from PySide6.QtWidgets import QDialog from .ui_osl import Ui_dialog_osl from .. import FileManager @@ -14,14 +15,14 @@ def __init__(self, parent=None, lang_manager=None): self.__osl.select_library.currentTextChanged.connect(self.__load_library_osl) def __load_initial_content(self): - __notice:str = FileManager.read_file(f'./interface/translations/others/NOTICE_{self.__lang.lang_code}.srm') + __notice:str = FileManager.read_file(f'{Path(__file__).parent.parent}/interface/translations/others/NOTICE_{self.__lang.lang_code}.srm') self.__osl.text_container_license.setText(__notice) def __load_library_osl(self): if self.__osl.select_library.currentIndex() > 0: __name_library:str = self.__osl.select_library.currentText() - __license_file:str = f'./OSL/LICENSE_{__name_library.upper()}' - __links:dict = json.loads(FileManager.read_file('./OSL/url_licenses.srm')) + __license_file:str = f'{Path(__file__).parent.parent}/OSL/LICENSE_{__name_library.upper()}' + __links:dict = json.loads(FileManager.read_file(f'{Path(__file__).parent.parent}/OSL/url_licenses.srm')) self.__osl.url_osl.setText(self.tr(f'{__name_library.capitalize()} - original: {__links[__name_library.lower()]}')) self.__osl.text_container_license.setText(FileManager.read_file(__license_file)) else: diff --git a/src/PYMD/logic/Converter.py b/src/PYMD/logic/Converter.py index 4b02e1d..afc4b2e 100644 --- a/src/PYMD/logic/Converter.py +++ b/src/PYMD/logic/Converter.py @@ -1,11 +1,12 @@ from typing import Optional +from pathlib import Path from ..models.Returning import Returning from markitdown import MarkItDown, DocumentConverterResult from chromologger import Logger as Log from threading import Thread import asyncio -log = Log('./logs/log_converter.log') # Initialize logger +log = Log(f'{Path(__file__).parent.parent}/logs/log_converter.log') # Initialize logger class Converter(MarkItDown): def __init__(self, filename:str, ep: Optional[bool] =None, eb: Optional[bool] =None) -> None: diff --git a/src/PYMD/utils/FilesManager.py b/src/PYMD/utils/FilesManager.py index 1673bd1..ca2d4c1 100644 --- a/src/PYMD/utils/FilesManager.py +++ b/src/PYMD/utils/FilesManager.py @@ -2,7 +2,7 @@ from chromolog import Print as Log from pathlib import Path -log = Logger('./logs/log_file_manager.log') +log = Logger(f'{Path(__file__).parent.parent}/logs/log_file_manager.log') p:Log = Log() class FileManager: