Unit3Dup 0.13.0__tar.gz → 0.13.1__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.13.0 → unit3dup-0.13.1}/PKG-INFO +1 -1
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/PKG-INFO +1 -1
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/settings.py +2 -2
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/torrent_clients.py +21 -12
- {unit3dup-0.13.0 → unit3dup-0.13.1}/pyproject.toml +1 -1
- {unit3dup-0.13.0 → unit3dup-0.13.1}/LICENSE +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/README.rst +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/SOURCES.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/dependency_links.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/entry_points.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/requires.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/Unit3Dup.egg-info/top_level.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/bdinfo_string.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/bittorrent.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/command.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/constants.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/database.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/client.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/ftpx_service.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/ftpx_session.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/menu.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/models/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/ftpx/core/models/list.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/client.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/api.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/models/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/models/search.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/platformid.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/igdb/core/tags.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/imageHost.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/mediaresult.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/sessions/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/sessions/agents.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/sessions/exceptions.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/sessions/session.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/api.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/keywords.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/alternative.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/translations.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/videos.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/trailers/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/trailers/api.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/trailers/response.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/tvdb.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/extractor.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/frames.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/mediainfo.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/mediainfo_string.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/tags.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/title.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/ast.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/ban_list.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/data.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/itt.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/ptt.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/signs_list.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/sis.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/tags_list.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/trackers/trackers.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/common/utility.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/requirements.txt +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/setup.cfg +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/__main__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/automode.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/bot.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/duplicate.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/exceptions.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/ContentManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/DocuManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/GameManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/MediaInfoManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/SeedManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/TorrentManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/VideoManager.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/media_manager/common.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/pvtDocu.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/pvtTorrent.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/pvtTracker.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/pvtVideo.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/torrent.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/unit3dup/upload.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/view/__init__.py +0 -0
- {unit3dup-0.13.0 → unit3dup-0.13.1}/view/custom_console.py +0 -0
|
@@ -24,7 +24,7 @@ user_tags_file = "tags_list.json"
|
|
|
24
24
|
user_sign_file = "sign_list.json"
|
|
25
25
|
bane_file = "ban_list.json"
|
|
26
26
|
|
|
27
|
-
version = "0.13.
|
|
27
|
+
version = "0.13.1"
|
|
28
28
|
|
|
29
29
|
if os.name == "nt":
|
|
30
30
|
WATCHER_DESTINATION_PATH: Path = Path(
|
|
@@ -454,7 +454,7 @@ class Config(BaseModel):
|
|
|
454
454
|
section[field] = Validate.integer(value=section[field], field_name=field)
|
|
455
455
|
|
|
456
456
|
if field in ['QBIT_PASS', 'TRASM_PASS', 'RTORR_PASS', 'QBIT_USER', 'TRASM_USER', 'RTORR_USER',
|
|
457
|
-
|
|
457
|
+
'TORRENT_CLIENT', 'TAG', 'RTORR_HOST']:
|
|
458
458
|
section[field] = Validate.string(value=section[field], field_name=field)
|
|
459
459
|
|
|
460
460
|
if field in ['SHARED_TRASM_PATH', 'SHARED_QBIT_PATH', 'SHARED_RTORR_PATH']:
|
|
@@ -150,9 +150,9 @@ class QbittorrentClient(TorrClient):
|
|
|
150
150
|
f"{self.__class__.__name__} Please verify your configuration"
|
|
151
151
|
)
|
|
152
152
|
|
|
153
|
-
def _add_torrent_and_tag(self, torrent_bytes: bytes, save_path: str, info_hash: str,category: str) -> None:
|
|
153
|
+
def _add_torrent_and_tag(self, torrent_bytes: bytes, save_path: str, info_hash: str, category: str) -> None:
|
|
154
154
|
|
|
155
|
-
self.client.torrents_add(torrent_files=torrent_bytes,save_path=save_path)
|
|
155
|
+
self.client.torrents_add(torrent_files=torrent_bytes, save_path=save_path)
|
|
156
156
|
|
|
157
157
|
# wait for torrent to be registered
|
|
158
158
|
for _ in range(20):
|
|
@@ -164,9 +164,9 @@ class QbittorrentClient(TorrClient):
|
|
|
164
164
|
pass
|
|
165
165
|
time.sleep(0.25)
|
|
166
166
|
|
|
167
|
-
if category=='movie':
|
|
167
|
+
if category == 'movie':
|
|
168
168
|
category = config_settings.torrent_client_config.CATEGORY_MOVIE
|
|
169
|
-
if category=='tv':
|
|
169
|
+
if category == 'tv':
|
|
170
170
|
category = config_settings.torrent_client_config.CATEGORY_MOVIE
|
|
171
171
|
|
|
172
172
|
try:
|
|
@@ -176,13 +176,22 @@ class QbittorrentClient(TorrClient):
|
|
|
176
176
|
|
|
177
177
|
self.client.torrents_add_tags(tags=config_settings.torrent_client_config.TAG, torrent_hashes=info_hash)
|
|
178
178
|
|
|
179
|
-
def send_to_client(self, tracker_data_response: str, torrent: Mytorrent, content: Media,archive_path: str):
|
|
179
|
+
def send_to_client(self, tracker_data_response: str, torrent: Mytorrent, content: Media, archive_path: str):
|
|
180
180
|
|
|
181
|
+
# Check if shared path exists
|
|
181
182
|
if config_settings.torrent_client_config.SHARED_QBIT_PATH:
|
|
182
|
-
torr_location =
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
torr_location = config_settings.torrent_client_config.SHARED_QBIT_PATH
|
|
184
|
+
|
|
185
|
+
# append the category Serie to the shared path
|
|
186
|
+
if 'tv' in content.category.lower():
|
|
187
|
+
torr_location = os.path.join(torr_location, config_settings.torrent_client_config.CATEGORY_TV)
|
|
188
|
+
|
|
189
|
+
# append the category Movie to the shared path
|
|
190
|
+
if 'movie' in content.category.lower():
|
|
191
|
+
torr_location = os.path.join(torr_location, config_settings.torrent_client_config.CATEGORY_MOVIE)
|
|
192
|
+
|
|
185
193
|
else:
|
|
194
|
+
# otherwise set torr_location using the cli path
|
|
186
195
|
torr_location = os.path.dirname(content.torrent_path)
|
|
187
196
|
|
|
188
197
|
if not torrent:
|
|
@@ -192,16 +201,16 @@ class QbittorrentClient(TorrClient):
|
|
|
192
201
|
info = bencode2.bdecode(torrent_data)[b"info"]
|
|
193
202
|
info_hash = hashlib.sha1(bencode2.bencode(info)).hexdigest()
|
|
194
203
|
file_buffer.seek(0)
|
|
195
|
-
self._add_torrent_and_tag(torrent_bytes=file_buffer.read(),save_path=str(torr_location),
|
|
196
|
-
|
|
204
|
+
self._add_torrent_and_tag(torrent_bytes=file_buffer.read(), save_path=str(torr_location),
|
|
205
|
+
info_hash=info_hash, category=content.category)
|
|
197
206
|
else:
|
|
198
207
|
info = torrent.mytorr.metainfo["info"]
|
|
199
208
|
info_hash = hashlib.sha1(
|
|
200
209
|
bencode2.bencode(info)
|
|
201
210
|
).hexdigest()
|
|
202
211
|
with open(archive_path, "rb") as file_buffer:
|
|
203
|
-
self._add_torrent_and_tag(torrent_bytes=file_buffer.read(),save_path=str(torr_location),
|
|
204
|
-
|
|
212
|
+
self._add_torrent_and_tag(torrent_bytes=file_buffer.read(), save_path=str(torr_location),
|
|
213
|
+
info_hash=info_hash, category=content.category)
|
|
205
214
|
|
|
206
215
|
|
|
207
216
|
class RTorrentClient(TorrClient):
|
|
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.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unit3dup-0.13.0 → unit3dup-0.13.1}/common/external_services/theMovieDB/core/models/movie/details.py
RENAMED
|
File without changes
|
{unit3dup-0.13.0 → unit3dup-0.13.1}/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
|
|
File without changes
|
{unit3dup-0.13.0 → unit3dup-0.13.1}/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
|