Unit3Dup 0.8.20__tar.gz → 0.8.21__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.
- {unit3dup-0.8.20 → unit3dup-0.8.21}/PKG-INFO +1 -1
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/PKG-INFO +1 -1
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/api.py +7 -5
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/settings.py +5 -3
- {unit3dup-0.8.20 → unit3dup-0.8.21}/pyproject.toml +1 -1
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/ContentManager.py +2 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/pvtVideo.py +4 -2
- {unit3dup-0.8.20 → unit3dup-0.8.21}/LICENSE +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/README.rst +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/SOURCES.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/dependency_links.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/entry_points.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/requires.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/Unit3Dup.egg-info/top_level.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/bdinfo_string.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/bittorrent.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/command.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/constants.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/database.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/client.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/ftpx_service.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/ftpx_session.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/menu.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/models/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/ftpx/core/models/list.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/client.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/api.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/models/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/models/search.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/platformid.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/igdb/core/tags.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/imageHost.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/imdb.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/mediaresult.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/sessions/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/sessions/agents.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/sessions/exceptions.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/sessions/session.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/keywords.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/videos.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/trailers/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/trailers/api.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/trailers/response.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/extractor.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/frames.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/mediainfo.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/mediainfo_string.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/title.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/torrent_clients.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/trackers/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/trackers/data.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/trackers/itt.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/trackers/sis.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/trackers/trackers.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/common/utility.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/requirements.txt +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/setup.cfg +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/__main__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/automode.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/bot.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/duplicate.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/exceptions.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/DocuManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/GameManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/MediaInfoManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/SeedManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/TorrentManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/VideoManager.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/media_manager/common.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/pvtDocu.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/pvtTorrent.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/pvtTracker.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/torrent.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/upload.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/web/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/unit3dup/web/main.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/view/__init__.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/view/custom_console.py +0 -0
- {unit3dup-0.8.20 → unit3dup-0.8.21}/view/web_console.py +0 -0
|
@@ -395,11 +395,13 @@ class DbOnline(TmdbAPI):
|
|
|
395
395
|
# todo compare against the media title especially for the favorite channel
|
|
396
396
|
return result[0].items[0].id.videoId
|
|
397
397
|
else:
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
398
|
+
if not config_settings.user_preferences.SKIP_YOUTUBE:
|
|
399
|
+
user_youtube_id = custom_console.user_input_str(message="Title not found."
|
|
400
|
+
" Please digit a valid Youtube ID (0=skip)->")
|
|
401
|
+
if user_youtube_id==0:
|
|
402
|
+
return "not available"
|
|
403
|
+
return user_youtube_id
|
|
404
|
+
return None
|
|
403
405
|
|
|
404
406
|
def trailer(self, video_id: int) -> str | None:
|
|
405
407
|
# Search for tmdb trailer
|
|
@@ -13,7 +13,7 @@ from common.utility import ManageTitles
|
|
|
13
13
|
from common import trackers
|
|
14
14
|
|
|
15
15
|
config_file = "Unit3Dbot.json"
|
|
16
|
-
version = "0.8.
|
|
16
|
+
version = "0.8.21"
|
|
17
17
|
|
|
18
18
|
if os.name == "nt":
|
|
19
19
|
PW_TORRENT_ARCHIVE_PATH: Path = Path(os.getenv("LOCALAPPDATA", ".")) / "Unit3Dup_config" / "pw_torrent_archive"
|
|
@@ -111,6 +111,7 @@ class UserPreferences(BaseModel):
|
|
|
111
111
|
DUPLICATE_ON: bool = False
|
|
112
112
|
SKIP_DUPLICATE: bool = False
|
|
113
113
|
SKIP_TMDB: bool = False
|
|
114
|
+
SKIP_YOUTUBE: bool = False
|
|
114
115
|
SIZE_TH: int = 50
|
|
115
116
|
WATCHER_INTERVAL: int = 60
|
|
116
117
|
WATCHER_PATH: str | None = None
|
|
@@ -424,8 +425,8 @@ class Config(BaseModel):
|
|
|
424
425
|
else:
|
|
425
426
|
field = field.upper()
|
|
426
427
|
|
|
427
|
-
if field in ['DUPLICATE_ON','SKIP_DUPLICATE','SKIP_TMDB','
|
|
428
|
-
'CACHE_SCR','CACHE_DBONLINE', 'PERSONAL_RELEASE']:
|
|
428
|
+
if field in ['DUPLICATE_ON','SKIP_DUPLICATE','SKIP_TMDB','SKIP_YOUTUBE','RESIZE_SCSHOT','ANON',
|
|
429
|
+
'WEBP_ENABLED', 'CACHE_SCR','CACHE_DBONLINE', 'PERSONAL_RELEASE']:
|
|
429
430
|
section[field] = Validate.boolean(value=section[field], field_name=field)
|
|
430
431
|
|
|
431
432
|
if field in ['TORRENT_COMMENT','WATCHER_PATH','DEFAULT_TRACKER']:
|
|
@@ -574,6 +575,7 @@ class Load:
|
|
|
574
575
|
"DUPLICATE_ON": "true",
|
|
575
576
|
"SKIP_DUPLICATE": "false",
|
|
576
577
|
"SKIP_TMDB": "false",
|
|
578
|
+
"SKIP_YOUTUBE" :'true',
|
|
577
579
|
"SIZE_TH": 10,
|
|
578
580
|
"WATCHER_INTERVAL": 60,
|
|
579
581
|
"WATCHER_PATH": "no_path",
|
|
@@ -129,6 +129,7 @@ class ContentManager:
|
|
|
129
129
|
# Display name on webpage
|
|
130
130
|
self.display_name, _ = os.path.splitext(os.path.basename(self.file_name))
|
|
131
131
|
self.display_name = ManageTitles.clean_text(self.display_name)
|
|
132
|
+
self.display_name = re.sub(r'[\[\]()]', '', self.display_name)
|
|
132
133
|
# current media path
|
|
133
134
|
self.torrent_path = self.path
|
|
134
135
|
# Try to get video ID from the string title
|
|
@@ -153,6 +154,7 @@ class ContentManager:
|
|
|
153
154
|
self.file_name = os.path.join(self.path, files_list[0])
|
|
154
155
|
# Display name on webpage
|
|
155
156
|
self.display_name = ManageTitles.clean_text(os.path.basename(self.path))
|
|
157
|
+
self.display_name = re.sub(r'[\[\]()]', '', self.display_name)
|
|
156
158
|
# current media path
|
|
157
159
|
self.torrent_path = self.path
|
|
158
160
|
# Torrent name
|
|
@@ -79,8 +79,10 @@ class Video:
|
|
|
79
79
|
# Build the description
|
|
80
80
|
build_description = Build(extracted_frames=extracted_frames_webp+extracted_frames, filename= self.display_name)
|
|
81
81
|
self.description = build_description.description()
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
|
|
83
|
+
if self.trailer_key:
|
|
84
|
+
self.description += (f"[b][spoiler=Spoiler: PLAY TRAILER][center][youtube]{self.trailer_key}[/youtube]"
|
|
85
|
+
f"[/center][/spoiler][/b]")
|
|
84
86
|
self.is_hd = is_hd
|
|
85
87
|
|
|
86
88
|
# Caching
|
|
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
|
{unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/details.py
RENAMED
|
File without changes
|
{unit3dup-0.8.20 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/movie.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
|
{unit3dup-0.8.20 → unit3dup-0.8.21}/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
|