Unit3Dup 0.8.5__py3-none-any.whl → 0.8.7__py3-none-any.whl
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.
- common/command.py +12 -8
- common/settings.py +4 -3
- unit3dup/__main__.py +1 -2
- unit3dup/bot.py +1 -1
- unit3dup/media_manager/DocuManager.py +1 -1
- unit3dup/media_manager/GameManager.py +1 -1
- unit3dup/media_manager/SeedManager.py +1 -1
- unit3dup/media_manager/TorrentManager.py +12 -3
- unit3dup/media_manager/VideoManager.py +1 -1
- unit3dup/upload.py +9 -3
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/METADATA +46 -27
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/RECORD +16 -16
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/WHEEL +1 -1
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/entry_points.txt +0 -0
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/licenses/LICENSE +0 -0
- {unit3dup-0.8.5.dist-info → unit3dup-0.8.7.dist-info}/top_level.txt +0 -0
common/command.py
CHANGED
|
@@ -41,7 +41,7 @@ class CommandLine:
|
|
|
41
41
|
parser.add_argument("-noseed", "--noseed", action="store_true", help="No seeding after upload")
|
|
42
42
|
parser.add_argument("-noup", "--noup", action="store_true", help="Torrent only. No upload")
|
|
43
43
|
parser.add_argument("-duplicate", "--duplicate", action="store_true", help="Find duplicates")
|
|
44
|
-
|
|
44
|
+
parser.add_argument("-personal", "--personal", action="store_true", help="Set to personal release")
|
|
45
45
|
|
|
46
46
|
parser.add_argument("-pw", "--pw", type=str, help="")
|
|
47
47
|
parser.add_argument("-ftp", "--ftp", action="store_true", help="Connect to FTP")
|
|
@@ -92,13 +92,23 @@ class CommandLine:
|
|
|
92
92
|
parser.add_argument(
|
|
93
93
|
"-int", "--internal", action="store_true", help="Internal torrent"
|
|
94
94
|
)
|
|
95
|
+
|
|
95
96
|
parser.add_argument(
|
|
96
|
-
"-
|
|
97
|
+
"-pr", "--prelease", action="store_true", help="Personal release torrent"
|
|
97
98
|
)
|
|
98
99
|
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
# Parsing the User cli
|
|
99
103
|
self.args: parser = parser.parse_args()
|
|
104
|
+
|
|
105
|
+
# Test user scan path
|
|
100
106
|
self.is_dir = os.path.isdir(self.args.scan) if self.args.scan else None
|
|
101
107
|
|
|
108
|
+
# Test the upload path. Expand path home_path with tilde
|
|
109
|
+
if self.args.upload:
|
|
110
|
+
self.args.upload = os.path.expanduser(self.args.upload)
|
|
111
|
+
|
|
102
112
|
# Test -force flag
|
|
103
113
|
if self.args.force:
|
|
104
114
|
self.args.force = self.args.force[:10]
|
|
@@ -109,9 +119,3 @@ class CommandLine:
|
|
|
109
119
|
self.args.force = None
|
|
110
120
|
print("Invalid -force category")
|
|
111
121
|
exit()
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
# Check if the upload path is valid
|
|
115
|
-
# expand path home_path with tilde
|
|
116
|
-
if self.args.upload:
|
|
117
|
-
self.args.upload = os.path.expanduser(self.args.upload)
|
common/settings.py
CHANGED
|
@@ -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.7"
|
|
17
17
|
|
|
18
18
|
if os.name == "nt":
|
|
19
19
|
PW_TORRENT_ARCHIVE_PATH: Path = Path(os.getenv("LOCALAPPDATA", ".")) / "Unit3Dup_config" / "pw_torrent_archive"
|
|
@@ -113,7 +113,7 @@ class UserPreferences(BaseModel):
|
|
|
113
113
|
CACHE_SCR: bool = False
|
|
114
114
|
CACHE_DBONLINE: bool = False
|
|
115
115
|
PERSONAL_RELEASE: bool = False
|
|
116
|
-
|
|
116
|
+
FAST_LOAD: int = 0
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
class Options(BaseModel):
|
|
@@ -419,7 +419,7 @@ class Config(BaseModel):
|
|
|
419
419
|
section[field] = Validate.string(value=section[field], field_name=field)
|
|
420
420
|
|
|
421
421
|
if field in ['NUMBER_OF_SCREENSHOTS','COMPRESS_SCSHOT','IMGBB_PRIORITY','FREE_IMAGE_PRIORITY',
|
|
422
|
-
'LENSDUMP_PRIORITY','WATCHER_INTERVAL','SIZE_TH']:
|
|
422
|
+
'LENSDUMP_PRIORITY','WATCHER_INTERVAL','SIZE_TH', 'FAST_LOAD']:
|
|
423
423
|
section[field] = Validate.integer(value=section[field], field_name=field)
|
|
424
424
|
|
|
425
425
|
if field == 'PREFERRED_LANG':
|
|
@@ -524,6 +524,7 @@ class Load:
|
|
|
524
524
|
"SHARED_RTORR_PATH": "no_path",
|
|
525
525
|
"TORRENT_CLIENT": "qbittorrent",
|
|
526
526
|
"TAG": "ADDED TORRENTS",
|
|
527
|
+
"FAST_LOAD": "0",
|
|
527
528
|
},
|
|
528
529
|
"user_preferences": {
|
|
529
530
|
"PTSCREENS_PRIORITY": 0,
|
unit3dup/__main__.py
CHANGED
|
@@ -272,11 +272,10 @@ def main():
|
|
|
272
272
|
torrent_info.view_internal()
|
|
273
273
|
return
|
|
274
274
|
|
|
275
|
-
if cli.args.
|
|
275
|
+
if cli.args.prelease:
|
|
276
276
|
torrent_info.view_personal()
|
|
277
277
|
return
|
|
278
278
|
|
|
279
|
-
|
|
280
279
|
# Handle case with no arguments
|
|
281
280
|
if not cli.args:
|
|
282
281
|
custom_console.print("Syntax error! Please check your commands")
|
unit3dup/bot.py
CHANGED
|
@@ -60,7 +60,7 @@ class DocuManager:
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
# Tracker payload
|
|
63
|
-
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker)
|
|
63
|
+
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker, cli = self.cli)
|
|
64
64
|
|
|
65
65
|
# Upload
|
|
66
66
|
unit3d_up.data_docu(document_info=docu_info)
|
|
@@ -80,7 +80,7 @@ class GameManager:
|
|
|
80
80
|
continue
|
|
81
81
|
|
|
82
82
|
# Tracker instance
|
|
83
|
-
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker)
|
|
83
|
+
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker, cli = self.cli)
|
|
84
84
|
|
|
85
85
|
# Get the data
|
|
86
86
|
unit3d_up.data_game(igdb=game_data_results)
|
|
@@ -29,6 +29,11 @@ class TorrentManager:
|
|
|
29
29
|
self.games: list[Media] = []
|
|
30
30
|
self.doc: list[Media] = []
|
|
31
31
|
self.cli = cli
|
|
32
|
+
self.fast_load = config_settings.user_preferences.FAST_LOAD
|
|
33
|
+
if self.fast_load < 1 or self.fast_load > 150:
|
|
34
|
+
# full list
|
|
35
|
+
self.fast_load = None
|
|
36
|
+
|
|
32
37
|
|
|
33
38
|
def process(self, contents: list) -> None:
|
|
34
39
|
"""
|
|
@@ -57,6 +62,7 @@ class TorrentManager:
|
|
|
57
62
|
if content.category in {System.category_list.get(System.MOVIE), System.category_list.get(System.TV_SHOW)}
|
|
58
63
|
]
|
|
59
64
|
|
|
65
|
+
|
|
60
66
|
# // Build a Doc list
|
|
61
67
|
self.doc = [
|
|
62
68
|
content for content in contents if content.category == System.category_list.get(System.DOCUMENTARY)
|
|
@@ -78,21 +84,24 @@ class TorrentManager:
|
|
|
78
84
|
for selected_tracker in trackers_name_list:
|
|
79
85
|
# Build the torrent file and upload each GAME to the tracker
|
|
80
86
|
if self.games:
|
|
81
|
-
game_manager = GameManager(contents=self.games
|
|
87
|
+
game_manager = GameManager(contents=self.games[:self.fast_load],
|
|
88
|
+
cli=self.cli)
|
|
82
89
|
game_process_results = game_manager.process(selected_tracker=selected_tracker,
|
|
83
90
|
tracker_name_list=trackers_name_list,
|
|
84
91
|
tracker_archive=self.tracker_archive)
|
|
85
92
|
|
|
86
93
|
# Build the torrent file and upload each VIDEO to the trackers
|
|
87
94
|
if self.videos:
|
|
88
|
-
video_manager = VideoManager(contents=self.videos
|
|
95
|
+
video_manager = VideoManager(contents=self.videos[:self.fast_load],
|
|
96
|
+
cli=self.cli)
|
|
89
97
|
video_process_results = video_manager.process(selected_tracker=selected_tracker,
|
|
90
98
|
tracker_name_list=trackers_name_list,
|
|
91
99
|
tracker_archive=self.tracker_archive)
|
|
92
100
|
|
|
93
101
|
# Build the torrent file and upload each DOC to the tracker
|
|
94
102
|
if self.doc and not self.cli.reseed:
|
|
95
|
-
docu_manager = DocuManager(contents=self.doc
|
|
103
|
+
docu_manager = DocuManager(contents=self.doc[:self.fast_load],
|
|
104
|
+
cli=self.cli)
|
|
96
105
|
docu_process_results = docu_manager.process(selected_tracker=selected_tracker,
|
|
97
106
|
tracker_name_list=trackers_name_list,
|
|
98
107
|
tracker_archive=self.tracker_archive)
|
|
@@ -94,7 +94,7 @@ class VideoManager:
|
|
|
94
94
|
custom_console.bot_log(f"'DISPLAYNAME'...{{{content.display_name}}}\n")
|
|
95
95
|
|
|
96
96
|
# Tracker instance
|
|
97
|
-
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker)
|
|
97
|
+
unit3d_up = UploadBot(content=content, tracker_name=selected_tracker, cli = self.cli)
|
|
98
98
|
|
|
99
99
|
# Get the data
|
|
100
100
|
unit3d_up.data(show_id=db.video_id, imdb_id=db.imdb_id, show_keywords_list=db.keywords_list,
|
unit3dup/upload.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import argparse
|
|
1
2
|
import json
|
|
2
3
|
import requests
|
|
3
4
|
|
|
@@ -13,10 +14,11 @@ from unit3dup.media import Media
|
|
|
13
14
|
from view import custom_console
|
|
14
15
|
|
|
15
16
|
class UploadBot:
|
|
16
|
-
def __init__(self, content: Media, tracker_name: str):
|
|
17
|
+
def __init__(self, content: Media, tracker_name: str, cli: argparse):
|
|
17
18
|
|
|
18
19
|
self.API_TOKEN = config_settings.tracker_config.ITT_APIKEY
|
|
19
20
|
self.BASE_URL = config_settings.tracker_config.ITT_URL
|
|
21
|
+
self.cli = cli
|
|
20
22
|
self.content = content
|
|
21
23
|
self.tracker_name = tracker_name
|
|
22
24
|
self.tracker_data = TRACKData.load_from_module(tracker_name=tracker_name)
|
|
@@ -75,7 +77,8 @@ class UploadBot:
|
|
|
75
77
|
self.tracker.data["type_id"] = self.tracker_data.filter_type(self.content.file_name)
|
|
76
78
|
self.tracker.data["season_number"] = self.content.guess_season
|
|
77
79
|
self.tracker.data["episode_number"] = (self.content.guess_episode if not self.content.torrent_pack else 0)
|
|
78
|
-
self.tracker.data["personal_release"] = int(config_settings.user_preferences.PERSONAL_RELEASE)
|
|
80
|
+
self.tracker.data["personal_release"] = (int(config_settings.user_preferences.PERSONAL_RELEASE)
|
|
81
|
+
or int(self.cli.personal))
|
|
79
82
|
return self.tracker
|
|
80
83
|
|
|
81
84
|
def data_game(self,igdb: Game) -> Unit3d | None:
|
|
@@ -88,6 +91,8 @@ class UploadBot:
|
|
|
88
91
|
self.tracker.data["description"] = igdb.description + self.sign if igdb else "Sorry, there is no valid IGDB"
|
|
89
92
|
self.tracker.data["type_id"] = self.tracker_data.type_id.get(igdb_platform) if igdb_platform else 1
|
|
90
93
|
self.tracker.data["igdb"] = igdb.id if igdb else 1, # need zero not one ( fix tracker)
|
|
94
|
+
self.tracker.data["personal_release"] = (int(config_settings.user_preferences.PERSONAL_RELEASE)
|
|
95
|
+
or int(self.cli.personal))
|
|
91
96
|
return self.tracker
|
|
92
97
|
|
|
93
98
|
def data_docu(self, document_info: PdfImages) -> Unit3d | None:
|
|
@@ -99,7 +104,8 @@ class UploadBot:
|
|
|
99
104
|
self.tracker.data["description"] = document_info.description + self.sign
|
|
100
105
|
self.tracker.data["type_id"] = self.tracker_data.filter_type(self.content.file_name)
|
|
101
106
|
self.tracker.data["resolution_id"] = ""
|
|
102
|
-
|
|
107
|
+
self.tracker.data["personal_release"] = (int(config_settings.user_preferences.PERSONAL_RELEASE)
|
|
108
|
+
or int(self.cli.personal))
|
|
103
109
|
return self.tracker
|
|
104
110
|
|
|
105
111
|
def send(self, torrent_archive: str, nfo_path = None) -> (requests, dict):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Unit3Dup
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.7
|
|
4
4
|
Summary: An uploader for the Unit3D torrent tracker
|
|
5
5
|
Author: Parzival
|
|
6
6
|
License-Expression: MIT
|
|
@@ -63,22 +63,22 @@ It performs the following tasks:
|
|
|
63
63
|
- Add a custom title to your seasons
|
|
64
64
|
- Generate info for a title using MediaInfo
|
|
65
65
|
|
|
66
|
-
.. image:: https://img.shields.io/badge/Upload_PDF-gr
|
|
67
|
-
:alt: Install Upload PDF
|
|
68
|
-
|
|
69
66
|
unit3dup can grab the first page, convert it to an image (using xpdf),
|
|
70
67
|
and then the bot can upload it to an image host, then add the link to the torrent page description.
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
.. image:: https://img.shields.io/badge/INSTALL-gr
|
|
70
|
+
:alt: install
|
|
71
|
+
|
|
72
|
+
Ubuntu/Debian
|
|
73
|
+
-------------
|
|
74
74
|
pip install unit3dup
|
|
75
75
|
|
|
76
76
|
Upgrade
|
|
77
77
|
-------
|
|
78
78
|
pip install --upgrade unit3dup
|
|
79
79
|
|
|
80
|
-
Dependencies
|
|
81
|
-
|
|
80
|
+
Ubuntu/Debian Dependencies
|
|
81
|
+
--------------------------
|
|
82
82
|
sudo apt install ffmpeg
|
|
83
83
|
|
|
84
84
|
Only for pdf
|
|
@@ -86,6 +86,18 @@ Only for pdf
|
|
|
86
86
|
sudo apt install poppler-utils
|
|
87
87
|
|
|
88
88
|
|
|
89
|
+
Windows Dependencies
|
|
90
|
+
--------------------
|
|
91
|
+
1. Download and unzip https://www.ffmpeg.org/download.html and add its folder to
|
|
92
|
+
PATH environment user variable
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
1. Download and unzip poppler for Windows from https://github.com/oschwartz10612/poppler-windows/releases
|
|
96
|
+
2. Put the folder 'bin' in the system path (e.g. ``C:\poppler-24.08.0\Library\bin``)
|
|
97
|
+
3. *Close and reopen a new console window*
|
|
98
|
+
4. Test it: Run ``pdftocairo`` in the terminal
|
|
99
|
+
|
|
100
|
+
|
|
89
101
|
Alternative method
|
|
90
102
|
------------------
|
|
91
103
|
|
|
@@ -93,37 +105,34 @@ Alternative method
|
|
|
93
105
|
|
|
94
106
|
2. unzip it
|
|
95
107
|
|
|
96
|
-
3. pip install
|
|
108
|
+
3. pip install .
|
|
109
|
+
|
|
110
|
+
4. unit3dup
|
|
111
|
+
|
|
97
112
|
|
|
98
|
-
|
|
113
|
+
.. image:: https://img.shields.io/badge/Bot_UPDATE-gr
|
|
114
|
+
:alt: Bot Update
|
|
99
115
|
|
|
100
|
-
|
|
116
|
+
1. pip install unit3dup --upgrade
|
|
101
117
|
|
|
102
|
-
1. Run: ``sudo apt install poppler-utils``
|
|
103
|
-
2. sudo apt install ffmpeg
|
|
104
118
|
|
|
105
119
|
|
|
106
|
-
|
|
120
|
+
RUN
|
|
121
|
+
======
|
|
107
122
|
|
|
108
|
-
|
|
109
|
-
PATH environment user variable
|
|
123
|
+
.. code-block:: python
|
|
110
124
|
|
|
125
|
+
unit3dup -u <filepath>
|
|
126
|
+
unit3dup -f <folderpath>
|
|
127
|
+
unit3dup -scan <folderpath>
|
|
111
128
|
|
|
112
|
-
1. Download and unzip poppler for Windows from https://github.com/oschwartz10612/poppler-windows/releases
|
|
113
|
-
2. Put the folder 'bin' in the system path (e.g. ``C:\poppler-24.08.0\Library\bin``)
|
|
114
|
-
3. *Close and reopen a new console window*
|
|
115
|
-
4. Test it: Run ``pdftocairo`` in the terminal
|
|
116
129
|
|
|
117
130
|
|
|
131
|
+
DOC
|
|
132
|
+
===
|
|
118
133
|
|
|
119
|
-
|
|
120
|
-
:alt: Bot Update
|
|
134
|
+
Link `Unit3DUP <https://unit3dup.readthedocs.io/en/latest/index.html#>`_
|
|
121
135
|
|
|
122
|
-
1. Delete only the bot folder
|
|
123
|
-
2. Download the release zip
|
|
124
|
-
3. Unzip it
|
|
125
|
-
4. No config needed
|
|
126
|
-
5. Done!
|
|
127
136
|
|
|
128
137
|
|
|
129
138
|
Trackers
|
|
@@ -148,6 +157,7 @@ united by a shared passion for torrents and more
|
|
|
148
157
|
:alt: Discord Server
|
|
149
158
|
|
|
150
159
|
|
|
160
|
+
|
|
151
161
|
🎯 Streaming Community
|
|
152
162
|
======================
|
|
153
163
|
|
|
@@ -155,3 +165,12 @@ united by a shared passion for torrents and more
|
|
|
155
165
|
|
|
156
166
|
An open-source script for downloading movies, TV shows, and anime from various websites,
|
|
157
167
|
built by a community of people with a shared interest in programming.
|
|
168
|
+
|
|
169
|
+
.. image:: https://img.shields.io/badge/Telegram-Join-blue?logo=telegram
|
|
170
|
+
:target: https://t.me/+hj294GabGWJlMDI8
|
|
171
|
+
:alt: Unisciti su Telegram
|
|
172
|
+
|
|
173
|
+
.. image:: https://img.shields.io/badge/StreamingCommunity-blue.svg
|
|
174
|
+
:target: https://github.com/Arrowar/StreamingCommunity
|
|
175
|
+
:alt: StreamingCommunity Badge
|
|
176
|
+
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
common/__init__.py,sha256=M82CDZm5KKWf8V3a10FKCy1wtFrJd1TMEhBib1Xtk1g,76
|
|
2
2
|
common/bdinfo_string.py,sha256=dfrU5T90fvkO_fklvVNWSoCgd5qvrVvqEZ_HKEsHAU8,3457
|
|
3
3
|
common/bittorrent.py,sha256=MPgMykWjmhGox7jf1MQn53Ew4NxpjzEc4FCF6oA2oYs,315
|
|
4
|
-
common/command.py,sha256=
|
|
4
|
+
common/command.py,sha256=UQ9MBSNzmdiT53JBr2cDTpowJPwHo8cCx9fxIljTvD4,5936
|
|
5
5
|
common/constants.py,sha256=tdflS7ZJwAcI1ZYUhBBb60QybVT7TmVS-EYxS4bNFp0,352
|
|
6
6
|
common/extractor.py,sha256=WKZwt2kQfKO2VJ1rtwE_j6Zl84zICnowZq_Ql16wmRc,4564
|
|
7
7
|
common/frames.py,sha256=p_jsaXII5tZTVt5ymu-w1hk2c_UMeOn3PZeuVR-wXWY,7973
|
|
8
8
|
common/mediainfo.py,sha256=U2r1jJejBsV8GP3iPk4O8_NkHO5RQ9Kkh2bKwVNUBmg,6229
|
|
9
9
|
common/mediainfo_string.py,sha256=8vuWlF2bqWRKpDbn81bV2fPA7hbl7RwOnxN2i4E3zNE,3958
|
|
10
|
-
common/settings.py,sha256=
|
|
10
|
+
common/settings.py,sha256=ZMctg2CqpHNI4UJ3RnDI8Yn6BWkhMUOVsWgbDEwQTPQ,30518
|
|
11
11
|
common/title.py,sha256=nFainfUBTYW9ML4Y-CB9ZFD_Es-OZXcAMPUo6D09u3k,3793
|
|
12
12
|
common/torrent_clients.py,sha256=NOIpYtLG_bA19HwcH9ahGFmGNtRkoMO6nAjma-JzDfs,12040
|
|
13
13
|
common/utility.py,sha256=6VLhN4K8W9oJfYiHKK_nq5LGtbwHaSMjeojstoyqYfU,8575
|
|
@@ -71,9 +71,9 @@ common/trackers/itt.py,sha256=DFXxrFX9i19kwGHfA1guswlBOueIHU00K-HvoperstA,4019
|
|
|
71
71
|
common/trackers/sis.py,sha256=AahQH-FxAqS19vgEFylOJzeY0_SHr27_Tibs7lraSdI,3480
|
|
72
72
|
common/trackers/trackers.py,sha256=uQgqmkJBoud4h8CWrc73yAURtkVU630sk1ZqLXJud7s,1384
|
|
73
73
|
unit3dup/__init__.py,sha256=seXz3lHgdrUBiOnhC6Je47npS66UZ0c62VFuoH3z5Mk,78
|
|
74
|
-
unit3dup/__main__.py,sha256=
|
|
74
|
+
unit3dup/__main__.py,sha256=OX5n_8VcZYkq22R2BQp5yKAaFxVuNW9yMzL8mDC9MGM,9058
|
|
75
75
|
unit3dup/automode.py,sha256=HIJrE8qEHp7DZQbppNtB_8jHY3Q94d6frp7BXnZuEac,4387
|
|
76
|
-
unit3dup/bot.py,sha256=
|
|
76
|
+
unit3dup/bot.py,sha256=TM8Htnq-udJDnN-7TwaPP6CiwWX0wb_Nud9p8ej8GRo,9250
|
|
77
77
|
unit3dup/duplicate.py,sha256=Ji1Y9vVLmhFQ5rgkUU-s7uXl-jC8akAa8OiQOfjFa9g,10428
|
|
78
78
|
unit3dup/exceptions.py,sha256=DhlcbbZEuvEYk5VSZTnle8oRg5I8Pq6Y6fxXTdOOOfo,4078
|
|
79
79
|
unit3dup/media.py,sha256=9WxBBE9051W8mKbClCABPw3ngSfdCFgzXynz2uUa5Ao,13710
|
|
@@ -82,21 +82,21 @@ unit3dup/pvtTorrent.py,sha256=cItlsCpcUJL23iXQHy0YzrrvV3JSl54UlBgm8_UROAs,2559
|
|
|
82
82
|
unit3dup/pvtTracker.py,sha256=U4xMmhiqMNZaIOgEi3pnP-3H75e7Gagndh8GDFEP7Cs,18647
|
|
83
83
|
unit3dup/pvtVideo.py,sha256=w_T6wEeGrsHkuR3KObJc4mNpJgg9hhHh_9LoxFlaqjM,3900
|
|
84
84
|
unit3dup/torrent.py,sha256=zbaplTKKgZ2w12jtD60ne9XvlkauDpjT2BRxa4WvWWU,19318
|
|
85
|
-
unit3dup/upload.py,sha256=
|
|
85
|
+
unit3dup/upload.py,sha256=gjB8u2oP2FPXZ8t9SMIzkUEr52hKRy_zSR8OWJlW2xc,6075
|
|
86
86
|
unit3dup/media_manager/ContentManager.py,sha256=X0nepb-PgBzTasnw-Z_Vz11oq8-66kg_5Q0Eddn964g,7123
|
|
87
|
-
unit3dup/media_manager/DocuManager.py,sha256=
|
|
88
|
-
unit3dup/media_manager/GameManager.py,sha256=
|
|
87
|
+
unit3dup/media_manager/DocuManager.py,sha256=oFt7jlxj-gIUty9PADBQV5a24bsv3yhjKhwI6niOhf4,3116
|
|
88
|
+
unit3dup/media_manager/GameManager.py,sha256=9EmPeNrirOwaVOj-vkLr29Xo7daIA4ssqrrt0WyMl30,4090
|
|
89
89
|
unit3dup/media_manager/MediaInfoManager.py,sha256=0NO9dgD7seJM67B3DRnwvRIdoy7bfquBUox-PnHInK8,1081
|
|
90
|
-
unit3dup/media_manager/SeedManager.py,sha256=
|
|
91
|
-
unit3dup/media_manager/TorrentManager.py,sha256
|
|
92
|
-
unit3dup/media_manager/VideoManager.py,sha256=
|
|
90
|
+
unit3dup/media_manager/SeedManager.py,sha256=Vqpf_xpGbxsJHg0C3-kL0_tdF4f2FRPlZH7UpnmAE3g,1912
|
|
91
|
+
unit3dup/media_manager/TorrentManager.py,sha256=qqM1d1TyfBuruXtKLRbQ8gFk3_2JNH9dOa6Yg-QnDCw,6507
|
|
92
|
+
unit3dup/media_manager/VideoManager.py,sha256=O1NzGnWiWPfMgjyV6h9_b9b8M5tzFtpje9cvI2g6Nc0,5437
|
|
93
93
|
unit3dup/media_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
94
|
unit3dup/media_manager/common.py,sha256=hG2zOw7ocQfZyI1dhusbehxswpIrZK7T2aAbCNwULqA,10138
|
|
95
|
-
unit3dup-0.8.
|
|
95
|
+
unit3dup-0.8.7.dist-info/licenses/LICENSE,sha256=GNAZDLhU0xz8QPbIyHAOYlVnQYDvKWk2N9fZJMhqaG8,1090
|
|
96
96
|
view/__init__.py,sha256=XIzb6rl58HmYPnksD73cYMFF88dn6FHa3u7bOHFbChk,81
|
|
97
97
|
view/custom_console.py,sha256=QD7LjVi7qoBCZ9RpXxsouLfkGtRq-d5yVIQem2Q0SdI,4741
|
|
98
|
-
unit3dup-0.8.
|
|
99
|
-
unit3dup-0.8.
|
|
100
|
-
unit3dup-0.8.
|
|
101
|
-
unit3dup-0.8.
|
|
102
|
-
unit3dup-0.8.
|
|
98
|
+
unit3dup-0.8.7.dist-info/METADATA,sha256=93vhjheaMvSYym49SAAx7fa5q9ChbPzgX07kYrayIJU,5224
|
|
99
|
+
unit3dup-0.8.7.dist-info/WHEEL,sha256=GHB6lJx2juba1wDgXDNlMTyM13ckjBMKf-OnwgKOCtA,91
|
|
100
|
+
unit3dup-0.8.7.dist-info/entry_points.txt,sha256=fxXSyI6-r6jy9_v-C5ZHm03q1aC3tE9EvCQZxC1NQnI,52
|
|
101
|
+
unit3dup-0.8.7.dist-info/top_level.txt,sha256=19NVMnQNkJxBUKebRNaYCRs56A5CO4U1L67GMQCPiLU,21
|
|
102
|
+
unit3dup-0.8.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|