Unit3Dup 0.8.19__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.19 → unit3dup-0.8.21}/PKG-INFO +24 -2
- {unit3dup-0.8.19 → unit3dup-0.8.21}/README.rst +23 -1
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/PKG-INFO +24 -2
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/imageHost.py +20 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/api.py +7 -5
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/settings.py +12 -4
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/utility.py +4 -1
- {unit3dup-0.8.19 → unit3dup-0.8.21}/pyproject.toml +1 -1
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/ContentManager.py +2 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/pvtVideo.py +4 -2
- {unit3dup-0.8.19 → unit3dup-0.8.21}/LICENSE +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/SOURCES.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/dependency_links.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/entry_points.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/requires.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/Unit3Dup.egg-info/top_level.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/bdinfo_string.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/bittorrent.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/command.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/constants.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/database.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/client.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/ftpx_service.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/ftpx_session.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/menu.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/models/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/ftpx/core/models/list.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/client.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/api.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/models/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/models/search.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/platformid.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/igdb/core/tags.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/imdb.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/mediaresult.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/sessions/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/sessions/agents.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/sessions/exceptions.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/sessions/session.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/keywords.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/videos.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/trailers/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/trailers/api.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/external_services/trailers/response.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/extractor.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/frames.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/mediainfo.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/mediainfo_string.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/title.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/torrent_clients.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/trackers/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/trackers/data.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/trackers/itt.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/trackers/sis.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/common/trackers/trackers.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/requirements.txt +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/setup.cfg +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/__main__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/automode.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/bot.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/duplicate.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/exceptions.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/DocuManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/GameManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/MediaInfoManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/SeedManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/TorrentManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/VideoManager.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/media_manager/common.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/pvtDocu.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/pvtTorrent.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/pvtTracker.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/torrent.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/upload.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/web/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/unit3dup/web/main.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/view/__init__.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/view/custom_console.py +0 -0
- {unit3dup-0.8.19 → unit3dup-0.8.21}/view/web_console.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Unit3Dup
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.21
|
|
4
4
|
Summary: An uploader for the Unit3D torrent tracker
|
|
5
5
|
Author: Parzival
|
|
6
6
|
License-Expression: MIT
|
|
@@ -112,6 +112,28 @@ DOC
|
|
|
112
112
|
Link `Unit3DUP <https://unit3dup.readthedocs.io/en/latest/index.html#>`_
|
|
113
113
|
|
|
114
114
|
|
|
115
|
+
ImageHost
|
|
116
|
+
=========
|
|
117
|
+
|
|
118
|
+
The bot can upload images to the following image hosting platforms:
|
|
119
|
+
|
|
120
|
+
+------------------+----------------------------+
|
|
121
|
+
| **Image Host** | **URL** |
|
|
122
|
+
+==================+============================+
|
|
123
|
+
| ``ImgBB`` | https://imgbb.com |
|
|
124
|
+
+------------------+----------------------------+
|
|
125
|
+
| ``FreeImage`` | https://freeimage.host |
|
|
126
|
+
+------------------+----------------------------+
|
|
127
|
+
| ``PtScreens`` | https://ptscreens.com |
|
|
128
|
+
+------------------+----------------------------+
|
|
129
|
+
| ``LensDump`` | https://lensdump.com |
|
|
130
|
+
+------------------+----------------------------+
|
|
131
|
+
| ``ImgFI`` | https://imgfi.com |
|
|
132
|
+
+------------------+----------------------------+
|
|
133
|
+
| ``PassIMA`` | https://passtheima.ge |
|
|
134
|
+
+------------------+----------------------------+
|
|
135
|
+
| ``ImaRide`` | https://www.imageride.net |
|
|
136
|
+
+------------------+----------------------------+
|
|
115
137
|
|
|
116
138
|
Trackers
|
|
117
139
|
========
|
|
@@ -131,7 +153,7 @@ united by a shared passion for torrents and more
|
|
|
131
153
|
:alt: Unisciti su Telegram
|
|
132
154
|
|
|
133
155
|
.. image:: https://img.shields.io/discord/1214696147600408698?label=Discord&logo=discord&style=flat
|
|
134
|
-
:target: https://discord.gg/
|
|
156
|
+
:target: https://discord.gg/Skvune9P
|
|
135
157
|
:alt: Discord Server
|
|
136
158
|
|
|
137
159
|
|
|
@@ -81,6 +81,28 @@ DOC
|
|
|
81
81
|
Link `Unit3DUP <https://unit3dup.readthedocs.io/en/latest/index.html#>`_
|
|
82
82
|
|
|
83
83
|
|
|
84
|
+
ImageHost
|
|
85
|
+
=========
|
|
86
|
+
|
|
87
|
+
The bot can upload images to the following image hosting platforms:
|
|
88
|
+
|
|
89
|
+
+------------------+----------------------------+
|
|
90
|
+
| **Image Host** | **URL** |
|
|
91
|
+
+==================+============================+
|
|
92
|
+
| ``ImgBB`` | https://imgbb.com |
|
|
93
|
+
+------------------+----------------------------+
|
|
94
|
+
| ``FreeImage`` | https://freeimage.host |
|
|
95
|
+
+------------------+----------------------------+
|
|
96
|
+
| ``PtScreens`` | https://ptscreens.com |
|
|
97
|
+
+------------------+----------------------------+
|
|
98
|
+
| ``LensDump`` | https://lensdump.com |
|
|
99
|
+
+------------------+----------------------------+
|
|
100
|
+
| ``ImgFI`` | https://imgfi.com |
|
|
101
|
+
+------------------+----------------------------+
|
|
102
|
+
| ``PassIMA`` | https://passtheima.ge |
|
|
103
|
+
+------------------+----------------------------+
|
|
104
|
+
| ``ImaRide`` | https://www.imageride.net |
|
|
105
|
+
+------------------+----------------------------+
|
|
84
106
|
|
|
85
107
|
Trackers
|
|
86
108
|
========
|
|
@@ -100,7 +122,7 @@ united by a shared passion for torrents and more
|
|
|
100
122
|
:alt: Unisciti su Telegram
|
|
101
123
|
|
|
102
124
|
.. image:: https://img.shields.io/discord/1214696147600408698?label=Discord&logo=discord&style=flat
|
|
103
|
-
:target: https://discord.gg/
|
|
125
|
+
:target: https://discord.gg/Skvune9P
|
|
104
126
|
:alt: Discord Server
|
|
105
127
|
|
|
106
128
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Unit3Dup
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.21
|
|
4
4
|
Summary: An uploader for the Unit3D torrent tracker
|
|
5
5
|
Author: Parzival
|
|
6
6
|
License-Expression: MIT
|
|
@@ -112,6 +112,28 @@ DOC
|
|
|
112
112
|
Link `Unit3DUP <https://unit3dup.readthedocs.io/en/latest/index.html#>`_
|
|
113
113
|
|
|
114
114
|
|
|
115
|
+
ImageHost
|
|
116
|
+
=========
|
|
117
|
+
|
|
118
|
+
The bot can upload images to the following image hosting platforms:
|
|
119
|
+
|
|
120
|
+
+------------------+----------------------------+
|
|
121
|
+
| **Image Host** | **URL** |
|
|
122
|
+
+==================+============================+
|
|
123
|
+
| ``ImgBB`` | https://imgbb.com |
|
|
124
|
+
+------------------+----------------------------+
|
|
125
|
+
| ``FreeImage`` | https://freeimage.host |
|
|
126
|
+
+------------------+----------------------------+
|
|
127
|
+
| ``PtScreens`` | https://ptscreens.com |
|
|
128
|
+
+------------------+----------------------------+
|
|
129
|
+
| ``LensDump`` | https://lensdump.com |
|
|
130
|
+
+------------------+----------------------------+
|
|
131
|
+
| ``ImgFI`` | https://imgfi.com |
|
|
132
|
+
+------------------+----------------------------+
|
|
133
|
+
| ``PassIMA`` | https://passtheima.ge |
|
|
134
|
+
+------------------+----------------------------+
|
|
135
|
+
| ``ImaRide`` | https://www.imageride.net |
|
|
136
|
+
+------------------+----------------------------+
|
|
115
137
|
|
|
116
138
|
Trackers
|
|
117
139
|
========
|
|
@@ -131,7 +153,7 @@ united by a shared passion for torrents and more
|
|
|
131
153
|
:alt: Unisciti su Telegram
|
|
132
154
|
|
|
133
155
|
.. image:: https://img.shields.io/discord/1214696147600408698?label=Discord&logo=discord&style=flat
|
|
134
|
-
:target: https://discord.gg/
|
|
156
|
+
:target: https://discord.gg/Skvune9P
|
|
135
157
|
:alt: Discord Server
|
|
136
158
|
|
|
137
159
|
|
|
@@ -179,6 +179,21 @@ class PassIMA(ImageUploader):
|
|
|
179
179
|
return 'source'
|
|
180
180
|
|
|
181
181
|
|
|
182
|
+
class ImaRide(ImageUploader):
|
|
183
|
+
|
|
184
|
+
priority= config_settings.user_preferences.IMARIDE_PRIORITY
|
|
185
|
+
def get_endpoint(self) -> str:
|
|
186
|
+
return "https://www.imageride.net/api/1/upload"
|
|
187
|
+
|
|
188
|
+
def get_data(self) -> dict:
|
|
189
|
+
return {
|
|
190
|
+
"key": self.key,
|
|
191
|
+
"title": self.image_name,
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
def get_field_name(self) -> str:
|
|
195
|
+
return 'source'
|
|
196
|
+
|
|
182
197
|
class ImageUploaderFallback:
|
|
183
198
|
def __init__(self, uploader):
|
|
184
199
|
self.uploader = uploader
|
|
@@ -231,6 +246,9 @@ class ImageUploaderFallback:
|
|
|
231
246
|
if uploader_host == "PassIMA":
|
|
232
247
|
return response['image']['url']
|
|
233
248
|
|
|
249
|
+
if uploader_host == "ImaRide":
|
|
250
|
+
return response['image']['url']
|
|
251
|
+
|
|
234
252
|
return None
|
|
235
253
|
|
|
236
254
|
class Build:
|
|
@@ -251,6 +269,7 @@ class Build:
|
|
|
251
269
|
self.PTSCREENS_KEY= config_settings.tracker_config.PTSCREENS_KEY
|
|
252
270
|
self.IMGFI_KEY = config_settings.tracker_config.IMGFI_KEY
|
|
253
271
|
self.PASSIMA_KEY = config_settings.tracker_config.PASSIMA_KEY
|
|
272
|
+
self.IMARIDE_KEY = config_settings.tracker_config.IMARIDE_KEY
|
|
254
273
|
self.extracted_frames = extracted_frames
|
|
255
274
|
|
|
256
275
|
|
|
@@ -271,6 +290,7 @@ class Build:
|
|
|
271
290
|
LensDump(img_bytes, self.LENSDUMP_KEY,image_name=image_name),
|
|
272
291
|
ImgFi(img_bytes, self.IMGFI_KEY,image_name=image_name),
|
|
273
292
|
PassIMA(img_bytes, self.PASSIMA_KEY, image_name=image_name),
|
|
293
|
+
ImaRide(img_bytes, self.IMARIDE_KEY, image_name=image_name),
|
|
274
294
|
]
|
|
275
295
|
|
|
276
296
|
# Sorting list based on priority
|
|
@@ -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"
|
|
@@ -69,6 +69,7 @@ class TrackerConfig(BaseModel):
|
|
|
69
69
|
PTSCREENS_KEY: str | None = None
|
|
70
70
|
IMGFI_KEY: str | None = None
|
|
71
71
|
PASSIMA_KEY: str | None = None
|
|
72
|
+
IMARIDE_KEY: str | None = None
|
|
72
73
|
YOUTUBE_KEY: str | None = None
|
|
73
74
|
IGDB_CLIENT_ID: str | None = None
|
|
74
75
|
IGDB_ID_SECRET: str | None = None
|
|
@@ -102,12 +103,15 @@ class UserPreferences(BaseModel):
|
|
|
102
103
|
IMGBB_PRIORITY: int = 3
|
|
103
104
|
IMGFI_PRIORITY: int = 4
|
|
104
105
|
PASSIMA_PRIORITY: int = 5
|
|
106
|
+
IMARIDE_PRIORITY: int = 6
|
|
107
|
+
|
|
105
108
|
NUMBER_OF_SCREENSHOTS: int = 4
|
|
106
109
|
YOUTUBE_FAV_CHANNEL_ID: str | None = None
|
|
107
110
|
YOUTUBE_CHANNEL_ENABLE: bool = False
|
|
108
111
|
DUPLICATE_ON: bool = False
|
|
109
112
|
SKIP_DUPLICATE: bool = False
|
|
110
113
|
SKIP_TMDB: bool = False
|
|
114
|
+
SKIP_YOUTUBE: bool = False
|
|
111
115
|
SIZE_TH: int = 50
|
|
112
116
|
WATCHER_INTERVAL: int = 60
|
|
113
117
|
WATCHER_PATH: str | None = None
|
|
@@ -421,15 +425,16 @@ class Config(BaseModel):
|
|
|
421
425
|
else:
|
|
422
426
|
field = field.upper()
|
|
423
427
|
|
|
424
|
-
if field in ['DUPLICATE_ON','SKIP_DUPLICATE','SKIP_TMDB','
|
|
425
|
-
'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']:
|
|
426
430
|
section[field] = Validate.boolean(value=section[field], field_name=field)
|
|
427
431
|
|
|
428
432
|
if field in ['TORRENT_COMMENT','WATCHER_PATH','DEFAULT_TRACKER']:
|
|
429
433
|
section[field] = Validate.string(value=section[field], field_name=field)
|
|
430
434
|
|
|
431
435
|
if field in ['NUMBER_OF_SCREENSHOTS','COMPRESS_SCSHOT','IMGBB_PRIORITY','FREE_IMAGE_PRIORITY',
|
|
432
|
-
'LENSDUMP_PRIORITY','PASSIMA_PRIORITY','WATCHER_INTERVAL','SIZE_TH',
|
|
436
|
+
'LENSDUMP_PRIORITY','PASSIMA_PRIORITY','IMARIDE_PRIORITY', 'WATCHER_INTERVAL','SIZE_TH',
|
|
437
|
+
'FAST_LOAD']:
|
|
433
438
|
section[field] = Validate.integer(value=section[field], field_name=field)
|
|
434
439
|
|
|
435
440
|
if field == 'PREFERRED_LANG':
|
|
@@ -531,6 +536,7 @@ class Load:
|
|
|
531
536
|
"PTSCREENS_KEY": "no_key",
|
|
532
537
|
"IMGFI_KEY": "no_key",
|
|
533
538
|
"PASSIMA_KEY": "no_key",
|
|
539
|
+
"IMARIDE_KEY": "no_key",
|
|
534
540
|
"YOUTUBE_KEY": "no_key",
|
|
535
541
|
"IGDB_CLIENT_ID": "no_key",
|
|
536
542
|
"IGDB_ID_SECRET": "no_key",
|
|
@@ -562,12 +568,14 @@ class Load:
|
|
|
562
568
|
"IMGBB_PRIORITY": 3,
|
|
563
569
|
"IMGFI_PRIORITY": 4,
|
|
564
570
|
"PASSIMA_PRIORITY": 5,
|
|
571
|
+
"IMARIDE_PRIORITY": 6,
|
|
565
572
|
"NUMBER_OF_SCREENSHOTS": 4,
|
|
566
573
|
"YOUTUBE_FAV_CHANNEL_ID": "UCGCbxpnt25hWPFLSbvwfg_w",
|
|
567
574
|
"YOUTUBE_CHANNEL_ENABLE": "False",
|
|
568
575
|
"DUPLICATE_ON": "true",
|
|
569
576
|
"SKIP_DUPLICATE": "false",
|
|
570
577
|
"SKIP_TMDB": "false",
|
|
578
|
+
"SKIP_YOUTUBE" :'true',
|
|
571
579
|
"SIZE_TH": 10,
|
|
572
580
|
"WATCHER_INTERVAL": 60,
|
|
573
581
|
"WATCHER_PATH": "no_path",
|
|
@@ -189,6 +189,9 @@ class ManageTitles:
|
|
|
189
189
|
(r'\b7 \b1\b', '7.1'),
|
|
190
190
|
(r'\b5 \b1\b', '5.1'),
|
|
191
191
|
(r'\bDDP5 \b1\b', 'DDP5.1'),
|
|
192
|
+
(r'\bDDP2 \b1\b', 'DDP2.0'),
|
|
193
|
+
(r'\bDD5 \b1\b', 'DD5.1'),
|
|
194
|
+
(r'\bDD2 \b1\b', 'DD2.0'),
|
|
192
195
|
(r'\b2 \b0\b', '2.0'),
|
|
193
196
|
(r'\bWEB \bDL\b', 'WEB-DL'),
|
|
194
197
|
(r'\bWEB \bDLMUX\b', 'WEB-DLMUX'),
|
|
@@ -197,7 +200,7 @@ class ManageTitles:
|
|
|
197
200
|
(r'\bHEVC \bFHC\b', 'HEVC-FHC'),
|
|
198
201
|
(r'\bCBR \bCBZ\b', 'CBR-CBZ'),
|
|
199
202
|
(r'\bH \b264\b', 'H.264'),
|
|
200
|
-
|
|
203
|
+
(r'\bH \b265\b', 'H.265'),
|
|
201
204
|
]
|
|
202
205
|
|
|
203
206
|
for tag, replacement in replacements:
|
|
@@ -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
|
{unit3dup-0.8.19 → 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.19 → unit3dup-0.8.21}/common/external_services/theMovieDB/core/models/movie/details.py
RENAMED
|
File without changes
|
{unit3dup-0.8.19 → 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.19 → 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
|