mirror of
https://github.com/Yuvi9587/Kemono-Downloader.git
synced 2025-12-29 16:14:44 +00:00
Compare commits
2 Commits
4a93b721e2
...
7.6.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec9900b90f | ||
|
|
55ebfdb980 |
@@ -140,7 +140,7 @@ class EmptyPopupDialog (QDialog ):
|
|||||||
SCOPE_CREATORS ="Creators"
|
SCOPE_CREATORS ="Creators"
|
||||||
|
|
||||||
|
|
||||||
def __init__ (self ,app_base_dir ,parent_app_ref ,parent =None ):
|
def __init__ (self ,user_data_path ,parent_app_ref ,parent =None ):
|
||||||
super ().__init__ (parent )
|
super ().__init__ (parent )
|
||||||
self.parent_app = parent_app_ref
|
self.parent_app = parent_app_ref
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ class EmptyPopupDialog (QDialog ):
|
|||||||
|
|
||||||
self.setMinimumSize(int(400 * scale_factor), int(300 * scale_factor))
|
self.setMinimumSize(int(400 * scale_factor), int(300 * scale_factor))
|
||||||
self.current_scope_mode = self.SCOPE_CREATORS
|
self.current_scope_mode = self.SCOPE_CREATORS
|
||||||
self .app_base_dir =app_base_dir
|
self.user_data_path = user_data_path
|
||||||
|
|
||||||
app_icon =get_app_icon_object ()
|
app_icon =get_app_icon_object ()
|
||||||
if app_icon and not app_icon .isNull ():
|
if app_icon and not app_icon .isNull ():
|
||||||
@@ -336,7 +336,7 @@ class EmptyPopupDialog (QDialog ):
|
|||||||
"""
|
"""
|
||||||
# --- NEW BEHAVIOR ---
|
# --- NEW BEHAVIOR ---
|
||||||
# Pass the app_base_dir and a reference to the main app (for translations/theme)
|
# Pass the app_base_dir and a reference to the main app (for translations/theme)
|
||||||
dialog = UpdateCheckDialog(self.app_base_dir, self.parent_app, self)
|
dialog = UpdateCheckDialog(self.user_data_path, self.parent_app, self)
|
||||||
|
|
||||||
if dialog.exec_() == QDialog.Accepted:
|
if dialog.exec_() == QDialog.Accepted:
|
||||||
# --- MODIFIED: Get a list of profiles now ---
|
# --- MODIFIED: Get a list of profiles now ---
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ class UpdateCheckDialog(QDialog):
|
|||||||
and allows the user to select multiple to check for updates.
|
and allows the user to select multiple to check for updates.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, app_base_dir, parent_app_ref, parent=None):
|
def __init__(self, user_data_path, parent_app_ref, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.parent_app = parent_app_ref
|
self.parent_app = parent_app_ref
|
||||||
self.app_base_dir = app_base_dir
|
self.user_data_path = user_data_path
|
||||||
self.selected_profiles_list = [] # Will store a list of {'name': ..., 'data': ...}
|
self.selected_profiles_list = [] # Will store a list of {'name': ..., 'data': ...}
|
||||||
|
|
||||||
self._init_ui()
|
self._init_ui()
|
||||||
@@ -100,7 +100,7 @@ class UpdateCheckDialog(QDialog):
|
|||||||
|
|
||||||
def _load_profiles(self):
|
def _load_profiles(self):
|
||||||
"""Loads all .json files from the creator_profiles directory as checkable items."""
|
"""Loads all .json files from the creator_profiles directory as checkable items."""
|
||||||
appdata_dir = os.path.join(self.app_base_dir, "appdata")
|
appdata_dir = self.user_data_path
|
||||||
profiles_dir = os.path.join(appdata_dir, "creator_profiles")
|
profiles_dir = os.path.join(appdata_dir, "creator_profiles")
|
||||||
|
|
||||||
if not os.path.isdir(profiles_dir):
|
if not os.path.isdir(profiles_dir):
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ class DownloaderApp (QWidget ):
|
|||||||
self.download_location_label_widget = None
|
self.download_location_label_widget = None
|
||||||
self.remove_from_filename_label_widget = None
|
self.remove_from_filename_label_widget = None
|
||||||
self.skip_words_label_widget = None
|
self.skip_words_label_widget = None
|
||||||
self.setWindowTitle("Kemono Downloader v7.6.0")
|
self.setWindowTitle("Kemono Downloader v7.6.1")
|
||||||
setup_ui(self)
|
setup_ui(self)
|
||||||
self._connect_signals()
|
self._connect_signals()
|
||||||
if hasattr(self, 'character_input'):
|
if hasattr(self, 'character_input'):
|
||||||
@@ -6617,7 +6617,7 @@ class DownloaderApp (QWidget ):
|
|||||||
self._tr("restore_pending_message_creator_selection",
|
self._tr("restore_pending_message_creator_selection",
|
||||||
"Please 'Restore Download' or 'Discard Session' before selecting new creators."))
|
"Please 'Restore Download' or 'Discard Session' before selecting new creators."))
|
||||||
return
|
return
|
||||||
dialog = EmptyPopupDialog(self.app_base_dir, self)
|
dialog = EmptyPopupDialog(self.user_data_path, self)
|
||||||
if dialog.exec_() == QDialog.Accepted:
|
if dialog.exec_() == QDialog.Accepted:
|
||||||
# --- NEW BATCH UPDATE LOGIC ---
|
# --- NEW BATCH UPDATE LOGIC ---
|
||||||
if hasattr(dialog, 'update_profiles_list') and dialog.update_profiles_list:
|
if hasattr(dialog, 'update_profiles_list') and dialog.update_profiles_list:
|
||||||
|
|||||||
111
structure.txt
Normal file
111
structure.txt
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
├── assets/
|
||||||
|
│ ├── Kemono.ico
|
||||||
|
│ ├── Kemono.png
|
||||||
|
│ ├── Ko-fi.png
|
||||||
|
│ ├── buymeacoffee.png
|
||||||
|
│ ├── discord.png
|
||||||
|
│ ├── github.png
|
||||||
|
│ ├── instagram.png
|
||||||
|
│ └── patreon.png
|
||||||
|
├── data/
|
||||||
|
│ ├── creators.json
|
||||||
|
│ └── dejavu-sans/
|
||||||
|
│ ├── DejaVu Fonts License.txt
|
||||||
|
│ ├── DejaVuSans-Bold.ttf
|
||||||
|
│ ├── DejaVuSans-BoldOblique.ttf
|
||||||
|
│ ├── DejaVuSans-ExtraLight.ttf
|
||||||
|
│ ├── DejaVuSans-Oblique.ttf
|
||||||
|
│ ├── DejaVuSans.ttf
|
||||||
|
│ ├── DejaVuSansCondensed-Bold.ttf
|
||||||
|
│ ├── DejaVuSansCondensed-BoldOblique.ttf
|
||||||
|
│ ├── DejaVuSansCondensed-Oblique.ttf
|
||||||
|
│ └── DejaVuSansCondensed.ttf
|
||||||
|
├── directory_tree.txt
|
||||||
|
├── main.py
|
||||||
|
├── src/
|
||||||
|
│ ├── __init__.py
|
||||||
|
│ ├── config/
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ └── constants.py
|
||||||
|
│ ├── core/
|
||||||
|
│ │ ├── Hentai2read_client.py
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ ├── allcomic_client.py
|
||||||
|
│ │ ├── api_client.py
|
||||||
|
│ │ ├── booru_client.py
|
||||||
|
│ │ ├── bunkr_client.py
|
||||||
|
│ │ ├── discord_client.py
|
||||||
|
│ │ ├── erome_client.py
|
||||||
|
│ │ ├── fap_nation_client.py
|
||||||
|
│ │ ├── manager.py
|
||||||
|
│ │ ├── mangadex_client.py
|
||||||
|
│ │ ├── nhentai_client.py
|
||||||
|
│ │ ├── pixeldrain_client.py
|
||||||
|
│ │ ├── rule34video_client.py
|
||||||
|
│ │ ├── saint2_client.py
|
||||||
|
│ │ ├── simpcity_client.py
|
||||||
|
│ │ ├── toonily_client.py
|
||||||
|
│ │ └── workers.py
|
||||||
|
│ ├── i18n/
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ └── translator.py
|
||||||
|
│ ├── services/
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ ├── drive_downloader.py
|
||||||
|
│ │ ├── multipart_downloader.py
|
||||||
|
│ │ └── updater.py
|
||||||
|
│ ├── ui/
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ ├── assets.py
|
||||||
|
│ │ ├── classes/
|
||||||
|
│ │ │ ├── allcomic_downloader_thread.py
|
||||||
|
│ │ │ ├── booru_downloader_thread.py
|
||||||
|
│ │ │ ├── bunkr_downloader_thread.py
|
||||||
|
│ │ │ ├── discord_downloader_thread.py
|
||||||
|
│ │ │ ├── downloader_factory.py
|
||||||
|
│ │ │ ├── drive_downloader_thread.py
|
||||||
|
│ │ │ ├── erome_downloader_thread.py
|
||||||
|
│ │ │ ├── external_link_downloader_thread.py
|
||||||
|
│ │ │ ├── fap_nation_downloader_thread.py
|
||||||
|
│ │ │ ├── hentai2read_downloader_thread.py
|
||||||
|
│ │ │ ├── kemono_discord_downloader_thread.py
|
||||||
|
│ │ │ ├── mangadex_downloader_thread.py
|
||||||
|
│ │ │ ├── nhentai_downloader_thread.py
|
||||||
|
│ │ │ ├── pixeldrain_downloader_thread.py
|
||||||
|
│ │ │ ├── rule34video_downloader_thread.py
|
||||||
|
│ │ │ ├── saint2_downloader_thread.py
|
||||||
|
│ │ │ ├── simp_city_downloader_thread.py
|
||||||
|
│ │ │ └── toonily_downloader_thread.py
|
||||||
|
│ │ ├── dialogs/
|
||||||
|
│ │ │ ├── ConfirmAddAllDialog.py
|
||||||
|
│ │ │ ├── CookieHelpDialog.py
|
||||||
|
│ │ │ ├── CustomFilenameDialog.py
|
||||||
|
│ │ │ ├── DownloadExtractedLinksDialog.py
|
||||||
|
│ │ │ ├── DownloadHistoryDialog.py
|
||||||
|
│ │ │ ├── EmptyPopupDialog.py
|
||||||
|
│ │ │ ├── ErrorFilesDialog.py
|
||||||
|
│ │ │ ├── ExportLinksDialog.py
|
||||||
|
│ │ │ ├── ExportOptionsDialog.py
|
||||||
|
│ │ │ ├── FavoriteArtistsDialog.py
|
||||||
|
│ │ │ ├── FavoritePostsDialog.py
|
||||||
|
│ │ │ ├── FutureSettingsDialog.py
|
||||||
|
│ │ │ ├── HelpGuideDialog.py
|
||||||
|
│ │ │ ├── KeepDuplicatesDialog.py
|
||||||
|
│ │ │ ├── KnownNamesFilterDialog.py
|
||||||
|
│ │ │ ├── MoreOptionsDialog.py
|
||||||
|
│ │ │ ├── MultipartScopeDialog.py
|
||||||
|
│ │ │ ├── SinglePDF.py
|
||||||
|
│ │ │ ├── SupportDialog.py
|
||||||
|
│ │ │ ├── TourDialog.py
|
||||||
|
│ │ │ ├── __init__.py
|
||||||
|
│ │ │ └── discord_pdf_generator.py
|
||||||
|
│ │ └── main_window.py
|
||||||
|
│ └── utils/
|
||||||
|
│ ├── __init__.py
|
||||||
|
│ ├── command.py
|
||||||
|
│ ├── file_utils.py
|
||||||
|
│ ├── network_utils.py
|
||||||
|
│ ├── resolution.py
|
||||||
|
│ └── text_utils.py
|
||||||
|
├── structure.txt
|
||||||
|
└── yt-dlp.exe
|
||||||
Reference in New Issue
Block a user