From 325eda54fa5786c55fd576a253b35ed680ae5b93 Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Thu, 19 Mar 2026 20:42:28 +0100 Subject: [PATCH] refactor: remove core/ folder --- .github/workflows/dev.yml | 2 +- src/{core => }/data/__init__.py | 0 src/{core => }/data/scrapers/__init__.py | 0 src/{core => }/data/scrapers/monkrus.py | 4 +- .../data/scrapers/provider/buzzheavier.py | 0 .../data/scrapers/provider/gofile.py | 2 +- src/{core => }/data/scrapers/rutracker.py | 8 +-- src/{core => }/data/scrapers/steamrip.py | 8 +-- src/{core => }/data/scrapers/uztracker.py | 6 +-- .../interface/assets/base64_icons.py | 0 src/{core => }/interface/assets/logo.png | Bin .../interface/dialogs/contextmenu.py | 4 +- .../interface/dialogs/downloadlist.py | 10 ++-- .../interface/dialogs/downloadmodel.py | 4 +- .../interface/dialogs/elideditemdelegate.py | 2 +- .../interface/dialogs/eventfilter.py | 4 +- .../interface/dialogs/hoverrowdelegate.py | 4 +- src/{core => }/interface/dialogs/image.py | 2 +- .../interface/dialogs/pauseresumedelegate.py | 8 +-- src/{core => }/interface/dialogs/settings.py | 14 ++--- src/{core => }/interface/dialogs/theme.py | 0 .../interface/dialogs/trackerhoverdelegate.py | 2 +- .../interface/dialogs/trackertable.py | 2 +- src/{core => }/interface/dialogs/update.py | 8 +-- src/{core => }/interface/gui.py | 50 +++++++++--------- .../interface/utils/searchhelper.py | 14 ++--- src/{core => }/interface/utils/svghelper.py | 6 +-- src/{core => }/interface/utils/tabhelper.py | 0 src/main.py | 24 ++++----- src/{core => }/network/__init__.py | 0 .../network/direct_download/__init__.py | 5 +- .../network/direct_download/handle.py | 8 +-- .../network/direct_download/status.py | 0 .../network/direct_download/utils.py | 2 +- src/{core => }/network/interface.py | 4 +- src/{core => }/network/libtorrent_int.py | 8 +-- src/{core => }/network/libtorrent_misc.py | 6 +-- src/{core => }/network/libtorrent_wrapper.py | 4 +- src/{core => }/utils/__init__.py | 0 src/{core => }/utils/config/config.py | 2 +- src/{core => }/utils/config/settings.py | 9 ++-- src/{core => }/utils/data/models.py | 0 src/{core => }/utils/data/state.py | 0 src/{core => }/utils/data/tracker.py | 2 +- src/{core => }/utils/general/shutdown.py | 6 +-- src/{core => }/utils/general/wrappers.py | 2 +- src/{core => }/utils/logging/loghandler.py | 6 +-- src/{core => }/utils/logging/logs.py | 8 +-- src/{core => }/utils/network/download.py | 14 ++--- src/{core => }/utils/network/jsonhandler.py | 0 .../utils/network/update_checker.py | 4 +- src/{core => }/utils/network/updater.py | 6 +-- 52 files changed, 142 insertions(+), 142 deletions(-) rename src/{core => }/data/__init__.py (100%) rename src/{core => }/data/scrapers/__init__.py (100%) rename src/{core => }/data/scrapers/monkrus.py (96%) rename src/{core => }/data/scrapers/provider/buzzheavier.py (100%) rename src/{core => }/data/scrapers/provider/gofile.py (96%) rename src/{core => }/data/scrapers/rutracker.py (87%) rename src/{core => }/data/scrapers/steamrip.py (92%) rename src/{core => }/data/scrapers/uztracker.py (91%) rename src/{core => }/interface/assets/base64_icons.py (100%) rename src/{core => }/interface/assets/logo.png (100%) rename src/{core => }/interface/dialogs/contextmenu.py (98%) rename src/{core => }/interface/dialogs/downloadlist.py (93%) rename src/{core => }/interface/dialogs/downloadmodel.py (98%) rename src/{core => }/interface/dialogs/elideditemdelegate.py (93%) rename src/{core => }/interface/dialogs/eventfilter.py (95%) rename src/{core => }/interface/dialogs/hoverrowdelegate.py (86%) rename src/{core => }/interface/dialogs/image.py (96%) rename src/{core => }/interface/dialogs/pauseresumedelegate.py (93%) rename src/{core => }/interface/dialogs/settings.py (96%) rename src/{core => }/interface/dialogs/theme.py (100%) rename src/{core => }/interface/dialogs/trackerhoverdelegate.py (90%) rename src/{core => }/interface/dialogs/trackertable.py (95%) rename src/{core => }/interface/dialogs/update.py (88%) rename src/{core => }/interface/gui.py (90%) rename src/{core => }/interface/utils/searchhelper.py (67%) rename src/{core => }/interface/utils/svghelper.py (99%) rename src/{core => }/interface/utils/tabhelper.py (100%) rename src/{core => }/network/__init__.py (100%) rename src/{core => }/network/direct_download/__init__.py (89%) rename src/{core => }/network/direct_download/handle.py (98%) rename src/{core => }/network/direct_download/status.py (100%) rename src/{core => }/network/direct_download/utils.py (97%) rename src/{core => }/network/interface.py (95%) rename src/{core => }/network/libtorrent_int.py (96%) rename src/{core => }/network/libtorrent_misc.py (95%) rename src/{core => }/network/libtorrent_wrapper.py (68%) rename src/{core => }/utils/__init__.py (100%) rename src/{core => }/utils/config/config.py (98%) rename src/{core => }/utils/config/settings.py (84%) rename src/{core => }/utils/data/models.py (100%) rename src/{core => }/utils/data/state.py (100%) rename src/{core => }/utils/data/tracker.py (94%) rename src/{core => }/utils/general/shutdown.py (61%) rename src/{core => }/utils/general/wrappers.py (84%) rename src/{core => }/utils/logging/loghandler.py (85%) rename src/{core => }/utils/logging/logs.py (97%) rename src/{core => }/utils/network/download.py (82%) rename src/{core => }/utils/network/jsonhandler.py (100%) rename src/{core => }/utils/network/update_checker.py (93%) rename src/{core => }/utils/network/updater.py (94%) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 2ee2ba3..03c93f6 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -106,7 +106,7 @@ jobs: run: | python -c " from PIL import Image - img = Image.open('src/core/interface/assets/logo.png') + img = Image.open('src/interface/assets/logo.png') img.save('app_icon.ico', format='ICO', sizes=[(256,256),(128,128),(64,64),(48,48),(32,32),(16,16)]) print('Icon converted successfully') " diff --git a/src/core/data/__init__.py b/src/data/__init__.py similarity index 100% rename from src/core/data/__init__.py rename to src/data/__init__.py diff --git a/src/core/data/scrapers/__init__.py b/src/data/scrapers/__init__.py similarity index 100% rename from src/core/data/scrapers/__init__.py rename to src/data/scrapers/__init__.py diff --git a/src/core/data/scrapers/monkrus.py b/src/data/scrapers/monkrus.py similarity index 96% rename from src/core/data/scrapers/monkrus.py rename to src/data/scrapers/monkrus.py index bf4c1cf..613dc8d 100644 --- a/src/core/data/scrapers/monkrus.py +++ b/src/data/scrapers/monkrus.py @@ -1,5 +1,5 @@ -from core.utils.data.tracker import get_magnet_link -from core.utils.data.state import state +from utils.data.tracker import get_magnet_link +from utils.data.state import state from bs4 import BeautifulSoup from typing import Dict import requests diff --git a/src/core/data/scrapers/provider/buzzheavier.py b/src/data/scrapers/provider/buzzheavier.py similarity index 100% rename from src/core/data/scrapers/provider/buzzheavier.py rename to src/data/scrapers/provider/buzzheavier.py diff --git a/src/core/data/scrapers/provider/gofile.py b/src/data/scrapers/provider/gofile.py similarity index 96% rename from src/core/data/scrapers/provider/gofile.py rename to src/data/scrapers/provider/gofile.py index 342b789..a7a86a8 100644 --- a/src/core/data/scrapers/provider/gofile.py +++ b/src/data/scrapers/provider/gofile.py @@ -1,4 +1,4 @@ -from core.utils.logging.logs import consoleLog +from utils.logging.logs import consoleLog import requests import re diff --git a/src/core/data/scrapers/rutracker.py b/src/data/scrapers/rutracker.py similarity index 87% rename from src/core/data/scrapers/rutracker.py rename to src/data/scrapers/rutracker.py index e6a0905..15acbce 100644 --- a/src/core/data/scrapers/rutracker.py +++ b/src/data/scrapers/rutracker.py @@ -1,7 +1,7 @@ -from core.utils.network.jsonhandler import split_data, format_data -from core.utils.data.tracker import get_magnet_link -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.network.jsonhandler import split_data, format_data +from utils.data.tracker import get_magnet_link +from utils.logging.logs import consoleLog +from utils.data.state import state from typing import Dict import requests diff --git a/src/core/data/scrapers/steamrip.py b/src/data/scrapers/steamrip.py similarity index 92% rename from src/core/data/scrapers/steamrip.py rename to src/data/scrapers/steamrip.py index 24c0165..22f0735 100644 --- a/src/core/data/scrapers/steamrip.py +++ b/src/data/scrapers/steamrip.py @@ -1,7 +1,7 @@ -from core.data.scrapers.provider.buzzheavier import scrape_buzzheavier -from core.data.scrapers.provider.gofile import scrape_gofile -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from data.scrapers.provider.buzzheavier import scrape_buzzheavier +from data.scrapers.provider.gofile import scrape_gofile +from utils.logging.logs import consoleLog +from utils.data.state import state from bs4 import BeautifulSoup from typing import Dict import webbrowser diff --git a/src/core/data/scrapers/uztracker.py b/src/data/scrapers/uztracker.py similarity index 91% rename from src/core/data/scrapers/uztracker.py rename to src/data/scrapers/uztracker.py index c5b118b..3c55c72 100644 --- a/src/core/data/scrapers/uztracker.py +++ b/src/data/scrapers/uztracker.py @@ -1,6 +1,6 @@ -from core.utils.data.tracker import get_magnet_link -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.data.tracker import get_magnet_link +from utils.logging.logs import consoleLog +from utils.data.state import state from urllib.parse import urljoin from bs4 import BeautifulSoup from typing import Dict diff --git a/src/core/interface/assets/base64_icons.py b/src/interface/assets/base64_icons.py similarity index 100% rename from src/core/interface/assets/base64_icons.py rename to src/interface/assets/base64_icons.py diff --git a/src/core/interface/assets/logo.png b/src/interface/assets/logo.png similarity index 100% rename from src/core/interface/assets/logo.png rename to src/interface/assets/logo.png diff --git a/src/core/interface/dialogs/contextmenu.py b/src/interface/dialogs/contextmenu.py similarity index 98% rename from src/core/interface/dialogs/contextmenu.py rename to src/interface/dialogs/contextmenu.py index 1b7362e..fb8c98f 100644 --- a/src/core/interface/dialogs/contextmenu.py +++ b/src/interface/dialogs/contextmenu.py @@ -1,7 +1,7 @@ -from core.utils.logging.logs import consoleLog, remove_download_log +from utils.logging.logs import consoleLog, remove_download_log from PySide6.QtWidgets import QMessageBox -from core.utils.data.state import state from PySide6.QtCore import Qt, QPoint +from utils.data.state import state from PySide6 import QtWidgets import subprocess import platform diff --git a/src/core/interface/dialogs/downloadlist.py b/src/interface/dialogs/downloadlist.py similarity index 93% rename from src/core/interface/dialogs/downloadlist.py rename to src/interface/dialogs/downloadlist.py index 1c6e66b..d381e24 100644 --- a/src/core/interface/dialogs/downloadlist.py +++ b/src/interface/dialogs/downloadlist.py @@ -1,9 +1,9 @@ -from core.interface.dialogs.pauseresumedelegate import PauseResumeDelegate -from core.interface.dialogs.hoverrowdelegate import HoverRowDelegate -from core.interface.dialogs.downloadmodel import DownloadModel -from core.interface.dialogs.theme import _table_stylesheet +from interface.dialogs.pauseresumedelegate import PauseResumeDelegate +from interface.dialogs.hoverrowdelegate import HoverRowDelegate +from interface.dialogs.downloadmodel import DownloadModel +from interface.dialogs.theme import _table_stylesheet from PySide6.QtWidgets import QTableView, QHeaderView -from core.utils.logging.logs import consoleLog +from utils.logging.logs import consoleLog from PySide6 import QtWidgets from PySide6.QtCore import Qt diff --git a/src/core/interface/dialogs/downloadmodel.py b/src/interface/dialogs/downloadmodel.py similarity index 98% rename from src/core/interface/dialogs/downloadmodel.py rename to src/interface/dialogs/downloadmodel.py index 7785fe9..6cb0237 100644 --- a/src/core/interface/dialogs/downloadmodel.py +++ b/src/interface/dialogs/downloadmodel.py @@ -1,6 +1,6 @@ from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import consoleLog +from utils.data.state import state import libtorrent as lt import subprocess import platform diff --git a/src/core/interface/dialogs/elideditemdelegate.py b/src/interface/dialogs/elideditemdelegate.py similarity index 93% rename from src/core/interface/dialogs/elideditemdelegate.py rename to src/interface/dialogs/elideditemdelegate.py index 5ef8671..6957ae2 100644 --- a/src/core/interface/dialogs/elideditemdelegate.py +++ b/src/interface/dialogs/elideditemdelegate.py @@ -1,4 +1,4 @@ -from core.interface.dialogs.theme import _theme_colors +from interface.dialogs.theme import _theme_colors from PySide6.QtWidgets import QStyledItemDelegate from PySide6.QtCore import Qt diff --git a/src/core/interface/dialogs/eventfilter.py b/src/interface/dialogs/eventfilter.py similarity index 95% rename from src/core/interface/dialogs/eventfilter.py rename to src/interface/dialogs/eventfilter.py index 4bddc92..760ccab 100644 --- a/src/core/interface/dialogs/eventfilter.py +++ b/src/interface/dialogs/eventfilter.py @@ -1,5 +1,5 @@ -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import consoleLog +from utils.data.state import state from PySide6.QtCore import QEvent def eventFilter(self, obj, event): diff --git a/src/core/interface/dialogs/hoverrowdelegate.py b/src/interface/dialogs/hoverrowdelegate.py similarity index 86% rename from src/core/interface/dialogs/hoverrowdelegate.py rename to src/interface/dialogs/hoverrowdelegate.py index 3293099..11b16ab 100644 --- a/src/core/interface/dialogs/hoverrowdelegate.py +++ b/src/interface/dialogs/hoverrowdelegate.py @@ -1,11 +1,11 @@ -from core.interface.dialogs.theme import _theme_colors +from interface.dialogs.theme import _theme_colors from PySide6.QtWidgets import QStyledItemDelegate from PySide6 import QtWidgets class HoverRowDelegate(QStyledItemDelegate): def paint(self, painter, option, index): - from core.interface.gui import MainWindow + from interface.gui import MainWindow opt = QtWidgets.QStyleOptionViewItem(option) option.state &= ~QtWidgets.QStyle.StateFlag.State_HasFocus diff --git a/src/core/interface/dialogs/image.py b/src/interface/dialogs/image.py similarity index 96% rename from src/core/interface/dialogs/image.py rename to src/interface/dialogs/image.py index 0abb90c..f39c327 100644 --- a/src/core/interface/dialogs/image.py +++ b/src/interface/dialogs/image.py @@ -1,6 +1,6 @@ from PySide6.QtGui import QImage, QPixmap -from core.utils.data.state import state from PySide6.QtWidgets import QLabel +from utils.data.state import state from PySide6.QtCore import Qt import os diff --git a/src/core/interface/dialogs/pauseresumedelegate.py b/src/interface/dialogs/pauseresumedelegate.py similarity index 93% rename from src/core/interface/dialogs/pauseresumedelegate.py rename to src/interface/dialogs/pauseresumedelegate.py index 7570a5b..ec4668b 100644 --- a/src/core/interface/dialogs/pauseresumedelegate.py +++ b/src/interface/dialogs/pauseresumedelegate.py @@ -1,8 +1,8 @@ -from core.interface.dialogs.theme import _theme_colors, SVG_PLAY, SVG_PAUSE, SVG_FOLDER +from interface.dialogs.theme import _theme_colors, SVG_PLAY, SVG_PAUSE, SVG_FOLDER from PySide6.QtWidgets import QStyledItemDelegate, QWidget, QHBoxLayout -from core.interface.utils.svghelper import svg_icon +from interface.utils.svghelper import svg_icon from PySide6.QtCore import Qt, QSize, Signal -from core.utils.data.state import state +from utils.data.state import state from PySide6 import QtWidgets import libtorrent as lt @@ -10,7 +10,7 @@ class PauseResumeDelegate(QStyledItemDelegate): clicked = Signal(int) def paint(self, painter, option, index): - from core.interface.gui import MainWindow + from interface.gui import MainWindow opt = QtWidgets.QStyleOptionViewItem(option) option.state &= ~QtWidgets.QStyle.StateFlag.State_HasFocus diff --git a/src/core/interface/dialogs/settings.py b/src/interface/dialogs/settings.py similarity index 96% rename from src/core/interface/dialogs/settings.py rename to src/interface/dialogs/settings.py index 5589b68..56e6761 100644 --- a/src/core/interface/dialogs/settings.py +++ b/src/interface/dialogs/settings.py @@ -1,11 +1,11 @@ -from core.interface.utils.tabhelper import general_tab -from core.interface.utils.tabhelper import network_tab -from core.utils.config.settings import save_settings -from core.interface.utils.tabhelper import paths_tab -from core.interface.utils.svghelper import svg_icon -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from interface.utils.tabhelper import general_tab +from interface.utils.tabhelper import network_tab +from utils.config.settings import save_settings +from interface.utils.tabhelper import paths_tab +from interface.utils.svghelper import svg_icon +from utils.logging.logs import consoleLog from PySide6.QtCore import Qt, QSize +from utils.data.state import state from PySide6 import QtWidgets from PySide6.QtWidgets import ( QLineEdit, diff --git a/src/core/interface/dialogs/theme.py b/src/interface/dialogs/theme.py similarity index 100% rename from src/core/interface/dialogs/theme.py rename to src/interface/dialogs/theme.py diff --git a/src/core/interface/dialogs/trackerhoverdelegate.py b/src/interface/dialogs/trackerhoverdelegate.py similarity index 90% rename from src/core/interface/dialogs/trackerhoverdelegate.py rename to src/interface/dialogs/trackerhoverdelegate.py index c83af6d..f6af434 100644 --- a/src/core/interface/dialogs/trackerhoverdelegate.py +++ b/src/interface/dialogs/trackerhoverdelegate.py @@ -1,4 +1,4 @@ -from core.interface.dialogs.theme import _theme_colors +from interface.dialogs.theme import _theme_colors from PySide6.QtWidgets import QStyledItemDelegate class TrackerHoverDelegate(QStyledItemDelegate): diff --git a/src/core/interface/dialogs/trackertable.py b/src/interface/dialogs/trackertable.py similarity index 95% rename from src/core/interface/dialogs/trackertable.py rename to src/interface/dialogs/trackertable.py index a382e75..68f188d 100644 --- a/src/core/interface/dialogs/trackertable.py +++ b/src/interface/dialogs/trackertable.py @@ -1,4 +1,4 @@ -from core.interface.dialogs.theme import _table_stylesheet +from interface.dialogs.theme import _table_stylesheet from PySide6.QtWidgets import QTableWidget from PySide6 import QtWidgets from PySide6.QtCore import Qt diff --git a/src/core/interface/dialogs/update.py b/src/interface/dialogs/update.py similarity index 88% rename from src/core/interface/dialogs/update.py rename to src/interface/dialogs/update.py index 8cb0a21..a45a329 100644 --- a/src/core/interface/dialogs/update.py +++ b/src/interface/dialogs/update.py @@ -1,8 +1,8 @@ -from core.utils.network.update_checker import get_updates -from core.utils.network.updater import download_update +from utils.network.update_checker import get_updates from PySide6.QtWidgets import QDialog, QMessageBox -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.network.updater import download_update +from utils.logging.logs import consoleLog +from utils.data.state import state from pathlib import Path import platform import json diff --git a/src/core/interface/gui.py b/src/interface/gui.py similarity index 90% rename from src/core/interface/gui.py rename to src/interface/gui.py index 1312728..7eb289b 100644 --- a/src/core/interface/gui.py +++ b/src/interface/gui.py @@ -1,25 +1,25 @@ -from core.interface.dialogs.trackerhoverdelegate import TrackerHoverDelegate -from core.interface.dialogs.elideditemdelegate import ElidedItemDelegate -from core.interface.dialogs.trackertable import _create_tracker_table -from core.interface.dialogs.downloadlist import _create_download_list -from core.interface.assets.base64_icons import settings_white_base64 -from core.interface.assets.base64_icons import settings_black_base64 -from core.interface.dialogs.downloadlist import download_list_update -from core.interface.dialogs.update import get_version, UpdateDialog -from core.utils.logging.logs import consoleLog, flush_log_buffer -from core.interface.dialogs.downloadmodel import DownloadModel -from core.interface.dialogs.settings import settings_dialog -from core.interface.assets.base64_icons import logo_base64 -from core.interface.dialogs.eventfilter import eventFilter -from core.utils.network.download import download_selected -from core.interface.utils.searchhelper import run_search -from core.interface.utils.tabhelper import create_tab -from core.utils.general.shutdown import closehelper -from core.utils.general.wrappers import run_thread -from core.interface.dialogs.image import Image -from core.utils.data.state import state +from interface.dialogs.trackerhoverdelegate import TrackerHoverDelegate +from interface.dialogs.elideditemdelegate import ElidedItemDelegate +from interface.dialogs.trackertable import _create_tracker_table +from interface.dialogs.downloadlist import _create_download_list +from interface.assets.base64_icons import settings_white_base64 +from interface.assets.base64_icons import settings_black_base64 +from interface.dialogs.downloadlist import download_list_update +from interface.dialogs.update import get_version, UpdateDialog +from utils.logging.logs import consoleLog, flush_log_buffer +from interface.dialogs.downloadmodel import DownloadModel +from interface.dialogs.settings import settings_dialog +from interface.assets.base64_icons import logo_base64 +from interface.dialogs.eventfilter import eventFilter +from utils.network.download import download_selected +from interface.utils.searchhelper import run_search +from interface.utils.tabhelper import create_tab +from utils.general.shutdown import closehelper +from utils.general.wrappers import run_thread +from interface.dialogs.image import Image +from utils.data.state import state -import core.interface.dialogs.contextmenu +import interface.dialogs.contextmenu from PySide6 import QtWidgets from PySide6.QtCore import ( @@ -86,7 +86,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): consoleLog(f"Could not set app ID: {e}") # Get current version - # core.interface.dialogs.update + # interface.dialogs.update get_version() UpdateDialog() @@ -137,7 +137,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): containerLayout.addWidget(self.searchbar) containerLayout.addWidget(state.trackertable) - # core.interface.dialogs.hoverrowdelegate + # interface.dialogs.hoverrowdelegate self.download_model = DownloadModel() self.downloadList = _create_download_list(self) self.downloadList.viewport().installEventFilter(self) @@ -246,7 +246,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): self.active_timer.timeout.connect(self.show_empty_downloads) self.active_timer.start(500) - self._context_menu = core.interface.dialogs.contextmenu.ContextMenu(self) + self._context_menu = interface.dialogs.contextmenu.ContextMenu(self) self.image_overlay = Image(self) def _apply_default_headers(self, table): @@ -384,7 +384,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): def closeEvent(self, event: QCloseEvent): closehelper() event.accept() - from core.utils.general.shutdown import force_exit + from utils.general.shutdown import force_exit force_exit() def _invalidate_hover_row(self, row): diff --git a/src/core/interface/utils/searchhelper.py b/src/interface/utils/searchhelper.py similarity index 67% rename from src/core/interface/utils/searchhelper.py rename to src/interface/utils/searchhelper.py index 09a49fb..ab006b0 100644 --- a/src/core/interface/utils/searchhelper.py +++ b/src/interface/utils/searchhelper.py @@ -1,9 +1,9 @@ -from core.data.scrapers.rutracker import init_rutracker -from core.data.scrapers.uztracker import init_uztracker -from core.data.scrapers.steamrip import init_steamrip -from core.data.scrapers.monkrus import init_m0nkrus -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from data.scrapers.rutracker import init_rutracker +from data.scrapers.uztracker import init_uztracker +from data.scrapers.steamrip import init_steamrip +from data.scrapers.monkrus import init_m0nkrus +from utils.logging.logs import consoleLog +from utils.data.state import state # Call initialization function for each tracker / site init_rutracker() @@ -28,7 +28,7 @@ def run_search(self) -> None: state.posts = scrapefunc(search_text) # Late to prevent circular import - from core.interface.gui import MainWindow + from interface.gui import MainWindow # Update GUI Headers MainWindow._instance.search_results_signal.emit(tracker["headers"]) diff --git a/src/core/interface/utils/svghelper.py b/src/interface/utils/svghelper.py similarity index 99% rename from src/core/interface/utils/svghelper.py rename to src/interface/utils/svghelper.py index bf4f25f..d9f8763 100644 --- a/src/core/interface/utils/svghelper.py +++ b/src/interface/utils/svghelper.py @@ -1,9 +1,7 @@ - - -from PySide6 import QtWidgets -from PySide6.QtCore import Qt, QByteArray from PySide6.QtGui import QIcon, QPixmap, QPainter +from PySide6.QtCore import Qt, QByteArray from PySide6.QtSvg import QSvgRenderer +from PySide6 import QtWidgets import darkdetect # Check if darkmode is enabled diff --git a/src/core/interface/utils/tabhelper.py b/src/interface/utils/tabhelper.py similarity index 100% rename from src/core/interface/utils/tabhelper.py rename to src/interface/utils/tabhelper.py diff --git a/src/main.py b/src/main.py index 66d6998..84f9552 100644 --- a/src/main.py +++ b/src/main.py @@ -1,15 +1,15 @@ -from core.network.libtorrent_misc import send_notification, update_log, check_deleted_files -from core.utils.logging.loghandler import split_data, check_completed, check_downloads -from core.network.interface import list_interfaces, init_interfaces -from core.utils.logging.logs import get_download_logs -from core.utils.logging.logs import set_main_window -from core.utils.general.shutdown import closehelper -from core.utils.general.wrappers import run_thread -from core.utils.general.shutdown import force_exit -from core.utils.config.config import read_config -from core.utils.logging.logs import consoleLog -from core.interface.gui import MainWindow -from core.utils.data.state import state +from network.libtorrent_misc import send_notification, update_log, check_deleted_files +from utils.logging.loghandler import split_data, check_completed, check_downloads +from network.interface import list_interfaces, init_interfaces +from utils.logging.logs import get_download_logs +from utils.logging.logs import set_main_window +from utils.general.shutdown import closehelper +from utils.general.wrappers import run_thread +from utils.general.shutdown import force_exit +from utils.config.config import read_config +from utils.logging.logs import consoleLog +from interface.gui import MainWindow +from utils.data.state import state from PySide6 import QtWidgets from PySide6.QtCore import Qt import qdarktheme diff --git a/src/core/network/__init__.py b/src/network/__init__.py similarity index 100% rename from src/core/network/__init__.py rename to src/network/__init__.py diff --git a/src/core/network/direct_download/__init__.py b/src/network/direct_download/__init__.py similarity index 89% rename from src/core/network/direct_download/__init__.py rename to src/network/direct_download/__init__.py index fdbc305..3d6f8b2 100644 --- a/src/core/network/direct_download/__init__.py +++ b/src/network/direct_download/__init__.py @@ -1,6 +1,7 @@ +from utils.logging.logs import consoleLog, add_download_log +from utils.data.state import state from typing import Optional -from core.utils.data.state import state -from core.utils.logging.logs import consoleLog, add_download_log + from .handle import DirectDownloadHandle from .utils import ( diff --git a/src/core/network/direct_download/handle.py b/src/network/direct_download/handle.py similarity index 98% rename from src/core/network/direct_download/handle.py rename to src/network/direct_download/handle.py index 4b4def6..023191b 100644 --- a/src/core/network/direct_download/handle.py +++ b/src/network/direct_download/handle.py @@ -1,8 +1,8 @@ -from core.utils.logging.logs import consoleLog, update_download_completed +from network.direct_download.status import DirectDownloadStatus, ChunkSpec +from utils.logging.logs import consoleLog, update_download_completed from concurrent.futures import ThreadPoolExecutor, as_completed -from .status import DirectDownloadStatus, ChunkSpec -from core.utils.data.state import state -from .utils import format_size +from network.direct_download.utils import format_size +from utils.data.state import state from typing import Optional import libtorrent as lt import threading diff --git a/src/core/network/direct_download/status.py b/src/network/direct_download/status.py similarity index 100% rename from src/core/network/direct_download/status.py rename to src/network/direct_download/status.py diff --git a/src/core/network/direct_download/utils.py b/src/network/direct_download/utils.py similarity index 97% rename from src/core/network/direct_download/utils.py rename to src/network/direct_download/utils.py index 238c6a7..20948f6 100644 --- a/src/core/network/direct_download/utils.py +++ b/src/network/direct_download/utils.py @@ -1,4 +1,4 @@ -from core.utils.logging.logs import consoleLog +from utils.logging.logs import consoleLog from urllib.parse import urlparse, unquote from typing import Optional import requests diff --git a/src/core/network/interface.py b/src/network/interface.py similarity index 95% rename from src/core/network/interface.py rename to src/network/interface.py index ff07f34..aca0e20 100644 --- a/src/core/network/interface.py +++ b/src/network/interface.py @@ -1,5 +1,5 @@ -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import consoleLog +from utils.data.state import state import psutil def get_net_interfaces(): diff --git a/src/core/network/libtorrent_int.py b/src/network/libtorrent_int.py similarity index 96% rename from src/core/network/libtorrent_int.py rename to src/network/libtorrent_int.py index b199bdd..f741f9e 100644 --- a/src/core/network/libtorrent_int.py +++ b/src/network/libtorrent_int.py @@ -1,7 +1,7 @@ -from core.network.interface import get_interface_ip -from core.utils.general.wrappers import run_thread -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from network.interface import get_interface_ip +from utils.general.wrappers import run_thread +from utils.logging.logs import consoleLog +from utils.data.state import state import libtorrent as lt import threading import platform diff --git a/src/core/network/libtorrent_misc.py b/src/network/libtorrent_misc.py similarity index 95% rename from src/core/network/libtorrent_misc.py rename to src/network/libtorrent_misc.py index 729809c..adfab0c 100644 --- a/src/core/network/libtorrent_misc.py +++ b/src/network/libtorrent_misc.py @@ -1,6 +1,6 @@ -from core.utils.logging.logs import update_download_completed_by_hash -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import update_download_completed_by_hash +from utils.logging.logs import consoleLog +from utils.data.state import state from plyer import notification import libtorrent as lt import time diff --git a/src/core/network/libtorrent_wrapper.py b/src/network/libtorrent_wrapper.py similarity index 68% rename from src/core/network/libtorrent_wrapper.py rename to src/network/libtorrent_wrapper.py index da9f4c2..bcf51a4 100644 --- a/src/core/network/libtorrent_wrapper.py +++ b/src/network/libtorrent_wrapper.py @@ -1,5 +1,5 @@ -from core.network.libtorrent_int import add_download -from core.utils.logging.logs import consoleLog +from network.libtorrent_int import add_download +from utils.logging.logs import consoleLog def add_magnet(uri): diff --git a/src/core/utils/__init__.py b/src/utils/__init__.py similarity index 100% rename from src/core/utils/__init__.py rename to src/utils/__init__.py diff --git a/src/core/utils/config/config.py b/src/utils/config/config.py similarity index 98% rename from src/core/utils/config/config.py rename to src/utils/config/config.py index 651c125..3036ea8 100644 --- a/src/core/utils/config/config.py +++ b/src/utils/config/config.py @@ -1,4 +1,4 @@ -from core.utils.data.state import state +from utils.data.state import state import configparser import platform import os diff --git a/src/core/utils/config/settings.py b/src/utils/config/settings.py similarity index 84% rename from src/core/utils/config/settings.py rename to src/utils/config/settings.py index 5001dc7..1d330fc 100644 --- a/src/core/utils/config/settings.py +++ b/src/utils/config/settings.py @@ -1,7 +1,8 @@ -from core.network.libtorrent_int import update_settings -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state -from core.utils.config.config import create_config +from network.libtorrent_int import update_settings +from utils.config.config import create_config +from utils.logging.logs import consoleLog +from utils.data.state import state + def save_settings(close=lambda: None, apiurl=None, download_path=None, down_speed_limit=None, up_speed_limit=None, image_path=None, autoresume=None, max_connections=None, max_downloads=None, bound_interface=None): diff --git a/src/core/utils/data/models.py b/src/utils/data/models.py similarity index 100% rename from src/core/utils/data/models.py rename to src/utils/data/models.py diff --git a/src/core/utils/data/state.py b/src/utils/data/state.py similarity index 100% rename from src/core/utils/data/state.py rename to src/utils/data/state.py diff --git a/src/core/utils/data/tracker.py b/src/utils/data/tracker.py similarity index 94% rename from src/core/utils/data/tracker.py rename to src/utils/data/tracker.py index eed9bc3..85ee3f1 100644 --- a/src/core/utils/data/tracker.py +++ b/src/utils/data/tracker.py @@ -1,4 +1,4 @@ -from core.utils.logging.logs import consoleLog +from utils.logging.logs import consoleLog from bs4 import BeautifulSoup import requests diff --git a/src/core/utils/general/shutdown.py b/src/utils/general/shutdown.py similarity index 61% rename from src/core/utils/general/shutdown.py rename to src/utils/general/shutdown.py index 1ec60fd..b3aac38 100644 --- a/src/core/utils/general/shutdown.py +++ b/src/utils/general/shutdown.py @@ -1,6 +1,6 @@ -from core.network.libtorrent_misc import cleanup_session -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from network.libtorrent_misc import cleanup_session +from utils.logging.logs import consoleLog +from utils.data.state import state import os def closehelper(): diff --git a/src/core/utils/general/wrappers.py b/src/utils/general/wrappers.py similarity index 84% rename from src/core/utils/general/wrappers.py rename to src/utils/general/wrappers.py index 8046354..4e9e999 100644 --- a/src/core/utils/general/wrappers.py +++ b/src/utils/general/wrappers.py @@ -1,4 +1,4 @@ -from core.utils.logging.logs import consoleLog +from utils.logging.logs import consoleLog def run_thread(thread): target_name = thread._target.__name__ diff --git a/src/core/utils/logging/loghandler.py b/src/utils/logging/loghandler.py similarity index 85% rename from src/core/utils/logging/loghandler.py rename to src/utils/logging/loghandler.py index c105618..ae52c8b 100644 --- a/src/core/utils/logging/loghandler.py +++ b/src/utils/logging/loghandler.py @@ -1,5 +1,5 @@ -from core.utils.network.download import run_download_direct, seed_magnet -from core.utils.logging.logs import consoleLog, remove_download_log +from utils.network.download import run_download_direct, seed_magnet +from utils.logging.logs import consoleLog, remove_download_log import os def split_data(data): @@ -18,7 +18,7 @@ def check_completed(downloads, resume): run_download_direct(download.magnet_uri, download.title) consoleLog(f"Resuming Magnet: {download.title}") elif download.url: - from core.network.direct_download import add_direct_download + from network.direct_download import add_direct_download add_direct_download(download.url, download.title) consoleLog(f"Resuming Direct Download: {download.title}") diff --git a/src/core/utils/logging/logs.py b/src/utils/logging/logs.py similarity index 97% rename from src/core/utils/logging/logs.py rename to src/utils/logging/logs.py index 036864b..da8ade4 100644 --- a/src/core/utils/logging/logs.py +++ b/src/utils/logging/logs.py @@ -1,5 +1,5 @@ -from core.utils.data.models import Download, DownloadList -from core.utils.data.state import state +from utils.data.models import Download, DownloadList +from utils.data.state import state from dataclasses import asdict from datetime import datetime import json @@ -243,7 +243,7 @@ def set_main_window(window): def flush_log_buffer(): # credits to claude if state.log_buffer: try: - from core.interface.gui import MainWindow + from interface.gui import MainWindow for log_entry in state.log_buffer: MainWindow.add_log(log_entry) state.log_buffer = [] @@ -256,7 +256,7 @@ def consoleLog(text, printAnyways = False): formatted_text = f"[{current_time}] {text}" try: - from core.interface.gui import MainWindow + from interface.gui import MainWindow if not MainWindow.add_log(formatted_text): state.log_buffer.append(formatted_text) except Exception: diff --git a/src/core/utils/network/download.py b/src/utils/network/download.py similarity index 82% rename from src/core/utils/network/download.py rename to src/utils/network/download.py index 5ea18fb..a6b5953 100644 --- a/src/core/utils/network/download.py +++ b/src/utils/network/download.py @@ -1,11 +1,11 @@ -from core.network.direct_download import add_direct_download -from core.network.libtorrent_wrapper import add_magnet -from core.utils.logging.logs import add_download_log -from core.utils.general.wrappers import run_thread -from core.network.libtorrent_int import add_seed +from network.direct_download import add_direct_download +from network.libtorrent_wrapper import add_magnet from PySide6.QtWidgets import QTableWidgetItem -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import add_download_log +from utils.general.wrappers import run_thread +from network.libtorrent_int import add_seed +from utils.logging.logs import consoleLog +from utils.data.state import state from PySide6.QtCore import Qt from typing import Optional import threading diff --git a/src/core/utils/network/jsonhandler.py b/src/utils/network/jsonhandler.py similarity index 100% rename from src/core/utils/network/jsonhandler.py rename to src/utils/network/jsonhandler.py diff --git a/src/core/utils/network/update_checker.py b/src/utils/network/update_checker.py similarity index 93% rename from src/core/utils/network/update_checker.py rename to src/utils/network/update_checker.py index b8ecb24..b7ca658 100644 --- a/src/core/utils/network/update_checker.py +++ b/src/utils/network/update_checker.py @@ -1,5 +1,5 @@ -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from utils.logging.logs import consoleLog +from utils.data.state import state import requests diff --git a/src/core/utils/network/updater.py b/src/utils/network/updater.py similarity index 94% rename from src/core/utils/network/updater.py rename to src/utils/network/updater.py index 7acf76d..118cb4d 100644 --- a/src/core/utils/network/updater.py +++ b/src/utils/network/updater.py @@ -1,6 +1,6 @@ -from core.network.direct_download.handle import DirectDownloadHandle -from core.utils.logging.logs import consoleLog -from core.utils.data.state import state +from network.direct_download.handle import DirectDownloadHandle +from utils.logging.logs import consoleLog +from utils.data.state import state from PySide6.QtCore import Qt from PySide6 import QtWidgets import libtorrent as lt