ittup 1.2.2__tar.gz → 1.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ittup-1.2.2 → ittup-1.2.3}/PKG-INFO +1 -1
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/bot.py +10 -4
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/DocuManager.py +4 -4
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/GameManager.py +4 -5
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/VideoManager.py +4 -3
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/PKG-INFO +1 -1
- {ittup-1.2.2 → ittup-1.2.3}/pyproject.toml +1 -1
- {ittup-1.2.2 → ittup-1.2.3}/LICENSE +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/README.rst +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/__main__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/about.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/bdinfo_string.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/bittorrent.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/command.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/constants.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/database.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/client.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/ftpx_service.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/ftpx_session.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/menu.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/models/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/ftpx/core/models/list.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/client.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/api.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/models/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/models/search.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/platformid.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/igdb/core/tags.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/imageHost.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/mediaresult.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/sessions/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/sessions/agents.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/sessions/exceptions.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/sessions/session.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/api.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/keywords.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/alternative.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/translations.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/videos.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/trailers/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/trailers/api.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/trailers/response.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/tvdb.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/extractor.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/frames.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/mediainfo.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/mediainfo_string.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/settings.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/tags.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/title.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/torrent_clients.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/ban_list.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/data.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/itt.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/signs_list.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/tags_list.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/trackers/trackers.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/common/utility.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/__main__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/automode.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/duplicate.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/exceptions.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/ContentManager.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/MediaInfoManager.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/SeedManager.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/TorrentManager.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/media_manager/common.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/pvtDocu.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/pvtTorrent.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/pvtTracker.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/pvtVideo.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/torrent.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/core/upload.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/view/__init__.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup/view/custom_console.py +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/SOURCES.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/dependency_links.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/entry_points.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/requires.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/ittup.egg-info/top_level.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/requirements.txt +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/setup.cfg +0 -0
- {ittup-1.2.2 → ittup-1.2.3}/tests/test_vcodec.py +0 -0
|
@@ -198,11 +198,10 @@ class Bot:
|
|
|
198
198
|
|
|
199
199
|
# Start uploading only the new files, one at a time
|
|
200
200
|
print()
|
|
201
|
-
self.run(include_paths=moved_paths)
|
|
202
|
-
print()
|
|
203
|
-
announce_idle = True
|
|
204
201
|
for moved_path in moved_paths:
|
|
205
202
|
self._run_isolated(include_path=moved_path, timeout=timeout)
|
|
203
|
+
print()
|
|
204
|
+
announce_idle = True
|
|
206
205
|
|
|
207
206
|
except KeyboardInterrupt:
|
|
208
207
|
custom_console.bot_log("Exiting...")
|
|
@@ -216,8 +215,15 @@ class Bot:
|
|
|
216
215
|
Returns:
|
|
217
216
|
True if the child process ended without errors
|
|
218
217
|
"""
|
|
218
|
+
# The child must be a fork of the watcher: it shares the loaded config and the console (the questions
|
|
219
|
+
# are answered on stdin), and the Bot can't be pickled for 'spawn' or 'forkserver' (the default
|
|
220
|
+
# since Python 3.14). Where fork isn't available or safe (Windows, macOS) the entry runs in the watcher
|
|
221
|
+
if "fork" not in multiprocessing.get_all_start_methods() or sys.platform == "darwin":
|
|
222
|
+
return self.run(include_paths=[include_path])
|
|
223
|
+
|
|
219
224
|
name = os.path.basename(include_path)
|
|
220
|
-
process = multiprocessing.Process(target=_run_worker, args=(self, include_path),
|
|
225
|
+
process = multiprocessing.get_context("fork").Process(target=_run_worker, args=(self, include_path),
|
|
226
|
+
daemon=True)
|
|
221
227
|
process.start()
|
|
222
228
|
try:
|
|
223
229
|
process.join(timeout if timeout > 0 else None)
|
|
@@ -38,14 +38,14 @@ class DocuManager:
|
|
|
38
38
|
custom_console.bot_log(f"Watcher Active.. skip the old upload '{content.file_name}'")
|
|
39
39
|
continue
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
43
|
-
|
|
44
|
-
# Skip if it is a duplicate
|
|
41
|
+
# Skip if it is a duplicate, before hashing the files
|
|
45
42
|
if ((self.cli.duplicate or config_settings.user_preferences.DUPLICATE_ON)
|
|
46
43
|
and UserContent.is_duplicate(content=content, tracker_name=selected_tracker, cli=self.cli)):
|
|
47
44
|
continue
|
|
48
45
|
|
|
46
|
+
torrent_response = UserContent.torrent(content=content, tracker_name_list=tracker_name_list,
|
|
47
|
+
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
48
|
+
|
|
49
49
|
# print the title will be shown on the torrent page
|
|
50
50
|
custom_console.bot_log(f"'DISPLAYNAME'...{{{content.display_name}}}\n")
|
|
51
51
|
|
|
@@ -61,15 +61,14 @@ class GameManager:
|
|
|
61
61
|
custom_console.bot_log(f"Watcher Active.. skip the old upload '{content.file_name}'")
|
|
62
62
|
continue
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# Skip if it is a duplicate
|
|
64
|
+
# Skip if it is a duplicate, before hashing the files
|
|
69
65
|
if ((self.cli.duplicate or config_settings.user_preferences.DUPLICATE_ON)
|
|
70
66
|
and UserContent.is_duplicate(content=content, tracker_name=selected_tracker, cli=self.cli)):
|
|
71
67
|
continue
|
|
72
68
|
|
|
69
|
+
torrent_response = UserContent.torrent(content=content, tracker_name_list=tracker_name_list,
|
|
70
|
+
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
71
|
+
|
|
73
72
|
# Login to IGDB only when the first game needs it
|
|
74
73
|
if not self.igdb_logged:
|
|
75
74
|
if not self.igdb.connect():
|
|
@@ -83,15 +83,16 @@ class VideoManager:
|
|
|
83
83
|
# Filter contents based on the preferred language or duplicates
|
|
84
84
|
if UserContent.is_preferred_language(content=content):
|
|
85
85
|
|
|
86
|
-
torrent_response = UserContent.torrent(content=content, tracker_name_list=tracker_name_list,
|
|
87
|
-
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
88
|
-
|
|
89
86
|
# Skip(S) if it is a duplicate or let the user choose to continue (C)
|
|
87
|
+
# Checked before hashing so a skipped duplicate doesn't cost a torrent file
|
|
90
88
|
if ((self.cli.duplicate or config_settings.user_preferences.DUPLICATE_ON)
|
|
91
89
|
and UserContent.is_duplicate(content=content, tracker_name=selected_tracker,
|
|
92
90
|
cli=self.cli)):
|
|
93
91
|
continue
|
|
94
92
|
|
|
93
|
+
torrent_response = UserContent.torrent(content=content, tracker_name_list=tracker_name_list,
|
|
94
|
+
selected_tracker=selected_tracker, this_path=torrent_filepath)
|
|
95
|
+
|
|
95
96
|
# Search for VIDEO ID
|
|
96
97
|
db_online = DbOnline(media=content, category=content.category, no_title=self.cli.notitle)
|
|
97
98
|
db = db_online.media_result
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/__init__.py
RENAMED
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/details.py
RENAMED
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/movie/movie.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/details.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ittup-1.2.2 → ittup-1.2.3}/ittup/common/external_services/theMovieDB/core/models/tvshow/tvshow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|