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: