Unit3Dup 0.13.1__tar.gz → 0.14.0__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.
Files changed (107) hide show
  1. {unit3dup-0.13.1 → unit3dup-0.14.0}/PKG-INFO +1 -1
  2. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/PKG-INFO +1 -1
  3. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/settings.py +12 -3
  4. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/torrent_clients.py +9 -17
  5. {unit3dup-0.13.1 → unit3dup-0.14.0}/pyproject.toml +1 -1
  6. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/pvtVideo.py +14 -0
  7. {unit3dup-0.13.1 → unit3dup-0.14.0}/LICENSE +0 -0
  8. {unit3dup-0.13.1 → unit3dup-0.14.0}/README.rst +0 -0
  9. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/SOURCES.txt +0 -0
  10. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/dependency_links.txt +0 -0
  11. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/entry_points.txt +0 -0
  12. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/requires.txt +0 -0
  13. {unit3dup-0.13.1 → unit3dup-0.14.0}/Unit3Dup.egg-info/top_level.txt +0 -0
  14. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/__init__.py +0 -0
  15. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/bdinfo_string.py +0 -0
  16. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/bittorrent.py +0 -0
  17. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/command.py +0 -0
  18. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/constants.py +0 -0
  19. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/database.py +0 -0
  20. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/__init__.py +0 -0
  21. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/__init__.py +0 -0
  22. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/client.py +0 -0
  23. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/__init__.py +0 -0
  24. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/ftpx_service.py +0 -0
  25. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/ftpx_session.py +0 -0
  26. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/menu.py +0 -0
  27. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/models/__init__.py +0 -0
  28. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/ftpx/core/models/list.py +0 -0
  29. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/__init__.py +0 -0
  30. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/client.py +0 -0
  31. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/__init__.py +0 -0
  32. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/api.py +0 -0
  33. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/models/__init__.py +0 -0
  34. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/models/search.py +0 -0
  35. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/platformid.py +0 -0
  36. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/igdb/core/tags.py +0 -0
  37. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/imageHost.py +0 -0
  38. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/mediaresult.py +0 -0
  39. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/sessions/__init__.py +0 -0
  40. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/sessions/agents.py +0 -0
  41. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/sessions/exceptions.py +0 -0
  42. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/sessions/session.py +0 -0
  43. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/__init__.py +0 -0
  44. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/__init__.py +0 -0
  45. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/api.py +0 -0
  46. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/keywords.py +0 -0
  47. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
  48. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
  49. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/alternative.py +0 -0
  50. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
  51. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
  52. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
  53. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
  54. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/movie/translations.py +0 -0
  55. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
  56. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
  57. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
  58. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
  59. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
  60. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
  61. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/theMovieDB/core/videos.py +0 -0
  62. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/trailers/__init__.py +0 -0
  63. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/trailers/api.py +0 -0
  64. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/trailers/response.py +0 -0
  65. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/external_services/tvdb.py +0 -0
  66. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/extractor.py +0 -0
  67. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/frames.py +0 -0
  68. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/mediainfo.py +0 -0
  69. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/mediainfo_string.py +0 -0
  70. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/tags.py +0 -0
  71. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/title.py +0 -0
  72. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/__init__.py +0 -0
  73. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/ast.py +0 -0
  74. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/ban_list.py +0 -0
  75. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/data.py +0 -0
  76. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/itt.py +0 -0
  77. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/ptt.py +0 -0
  78. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/signs_list.py +0 -0
  79. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/sis.py +0 -0
  80. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/tags_list.py +0 -0
  81. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/trackers/trackers.py +0 -0
  82. {unit3dup-0.13.1 → unit3dup-0.14.0}/common/utility.py +0 -0
  83. {unit3dup-0.13.1 → unit3dup-0.14.0}/requirements.txt +0 -0
  84. {unit3dup-0.13.1 → unit3dup-0.14.0}/setup.cfg +0 -0
  85. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/__init__.py +0 -0
  86. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/__main__.py +0 -0
  87. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/automode.py +0 -0
  88. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/bot.py +0 -0
  89. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/duplicate.py +0 -0
  90. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/exceptions.py +0 -0
  91. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media.py +0 -0
  92. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/ContentManager.py +0 -0
  93. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/DocuManager.py +0 -0
  94. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/GameManager.py +0 -0
  95. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/MediaInfoManager.py +0 -0
  96. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/SeedManager.py +0 -0
  97. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/TorrentManager.py +0 -0
  98. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/VideoManager.py +0 -0
  99. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/__init__.py +0 -0
  100. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/media_manager/common.py +0 -0
  101. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/pvtDocu.py +0 -0
  102. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/pvtTorrent.py +0 -0
  103. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/pvtTracker.py +0 -0
  104. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/torrent.py +0 -0
  105. {unit3dup-0.13.1 → unit3dup-0.14.0}/unit3dup/upload.py +0 -0
  106. {unit3dup-0.13.1 → unit3dup-0.14.0}/view/__init__.py +0 -0
  107. {unit3dup-0.13.1 → unit3dup-0.14.0}/view/custom_console.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Unit3Dup
3
- Version: 0.13.1
3
+ Version: 0.14.0
4
4
  Summary: An uploader for the Unit3D torrent tracker
5
5
  Author: Parzival
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Unit3Dup
3
- Version: 0.13.1
3
+ Version: 0.14.0
4
4
  Summary: An uploader for the Unit3D torrent tracker
5
5
  Author: Parzival
6
6
  License-Expression: MIT
@@ -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.1"
27
+ version = "0.14.0"
28
28
 
29
29
  if os.name == "nt":
30
30
  WATCHER_DESTINATION_PATH: Path = Path(
@@ -151,7 +151,11 @@ class UserPreferences(BaseModel):
151
151
  CACHE_DBONLINE: bool = False
152
152
  PERSONAL_RELEASE: bool = False
153
153
  FAST_LOAD: int = 0
154
-
154
+ MY_SIGN: str | None = None
155
+ MY_URL: str | None = None
156
+ MY_TEXT_1: str | None = None
157
+ MY_TEXT_2: str | None = None
158
+ MY_TEXT_3: str | None = None
155
159
 
156
160
  class Options(BaseModel):
157
161
  FTPX_USER: str = "user"
@@ -669,7 +673,12 @@ class Load:
669
673
  "CACHE_DBONLINE": "False",
670
674
  "PERSONAL_RELEASE": "False",
671
675
  "FAST_LOAD": "0",
672
- "RELEASER_SIGN": ""
676
+ "RELEASER_SIGN": "",
677
+ "MY_SIGN": "",
678
+ "MY_URL": "",
679
+ "MY_TEXT_1": "",
680
+ "MY_TEXT_2": "",
681
+ "MY_TEXT_3": ""
673
682
  },
674
683
  "options": {
675
684
  "FTPX_USER": "user",
@@ -189,28 +189,20 @@ class QbittorrentClient(TorrClient):
189
189
  # append the category Movie to the shared path
190
190
  if 'movie' in content.category.lower():
191
191
  torr_location = os.path.join(torr_location, config_settings.torrent_client_config.CATEGORY_MOVIE)
192
-
193
192
  else:
194
193
  # otherwise set torr_location using the cli path
195
194
  torr_location = os.path.dirname(content.torrent_path)
196
195
 
197
- if not torrent:
198
- with open(archive_path, "rb") as file_buffer:
199
- torrent_data = file_buffer.read()
196
+ # We have to read the info_hash from the downloaded torrent file
197
+ # because the tracker randomizes it so it's not the same as the torf instance
198
+ with open(archive_path, "rb") as file_buffer:
199
+ torrent_data = file_buffer.read()
200
200
 
201
- info = bencode2.bdecode(torrent_data)[b"info"]
202
- info_hash = hashlib.sha1(bencode2.bencode(info)).hexdigest()
203
- file_buffer.seek(0)
204
- self._add_torrent_and_tag(torrent_bytes=file_buffer.read(), save_path=str(torr_location),
205
- info_hash=info_hash, category=content.category)
206
- else:
207
- info = torrent.mytorr.metainfo["info"]
208
- info_hash = hashlib.sha1(
209
- bencode2.bencode(info)
210
- ).hexdigest()
211
- with open(archive_path, "rb") as file_buffer:
212
- self._add_torrent_and_tag(torrent_bytes=file_buffer.read(), save_path=str(torr_location),
213
- info_hash=info_hash, category=content.category)
201
+ info = bencode2.bdecode(torrent_data)[b"info"]
202
+ info_hash = hashlib.sha1(bencode2.bencode(info)).hexdigest()
203
+ file_buffer.seek(0)
204
+ self._add_torrent_and_tag(torrent_bytes=file_buffer.read(), save_path=str(torr_location),
205
+ info_hash=info_hash, category=content.category)
214
206
 
215
207
 
216
208
  class RTorrentClient(TorrClient):
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  dynamic = ["dependencies"]
7
7
  name = "Unit3Dup"
8
- version = "0.13.1"
8
+ version = "0.14.0"
9
9
  description = "An uploader for the Unit3D torrent tracker"
10
10
  readme = "README.rst"
11
11
  requires-python = ">=3.10"
@@ -78,6 +78,20 @@ class Video:
78
78
  build_description = Build(extracted_frames=extracted_frames_webp+extracted_frames, filename= self.display_name)
79
79
  self.description = build_description.description()
80
80
 
81
+ if config_settings.user_preferences.MY_SIGN:
82
+ self.description += f"""
83
+ [center]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[/center]
84
+ [center][img=250]{config_settings.user_preferences.MY_SIGN}[/img][/center]
85
+ [center][b]{config_settings.user_preferences.MY_TEXT_1}[/b][/center]
86
+ [center]
87
+ {config_settings.user_preferences.MY_TEXT_2}
88
+ [/center]
89
+ [center]
90
+ {config_settings.user_preferences.MY_TEXT_3}
91
+ [/center]
92
+ [center][url={config_settings.user_preferences.MY_URL}]Tutte le mie release[/url][/center]
93
+ """
94
+
81
95
  if self.trailer_key:
82
96
  self.description += (f"[b][spoiler=Spoiler: PLAY TRAILER][center][youtube]{self.trailer_key}[/youtube]"
83
97
  f"[/center][/spoiler][/b]")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes