Unit3Dup 0.9.2__tar.gz → 0.9.3__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 (101) hide show
  1. {unit3dup-0.9.2 → unit3dup-0.9.3}/PKG-INFO +1 -1
  2. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/PKG-INFO +1 -1
  3. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/p2p_tags.py +32 -9
  4. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/settings.py +1 -1
  5. {unit3dup-0.9.2 → unit3dup-0.9.3}/pyproject.toml +1 -1
  6. {unit3dup-0.9.2 → unit3dup-0.9.3}/LICENSE +0 -0
  7. {unit3dup-0.9.2 → unit3dup-0.9.3}/README.rst +0 -0
  8. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/SOURCES.txt +0 -0
  9. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/dependency_links.txt +0 -0
  10. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/entry_points.txt +0 -0
  11. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/requires.txt +0 -0
  12. {unit3dup-0.9.2 → unit3dup-0.9.3}/Unit3Dup.egg-info/top_level.txt +0 -0
  13. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/__init__.py +0 -0
  14. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/bdinfo_string.py +0 -0
  15. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/bittorrent.py +0 -0
  16. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/command.py +0 -0
  17. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/constants.py +0 -0
  18. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/database.py +0 -0
  19. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/__init__.py +0 -0
  20. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/__init__.py +0 -0
  21. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/client.py +0 -0
  22. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/__init__.py +0 -0
  23. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/ftpx_service.py +0 -0
  24. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/ftpx_session.py +0 -0
  25. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/menu.py +0 -0
  26. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/models/__init__.py +0 -0
  27. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/ftpx/core/models/list.py +0 -0
  28. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/__init__.py +0 -0
  29. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/client.py +0 -0
  30. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/__init__.py +0 -0
  31. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/api.py +0 -0
  32. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/models/__init__.py +0 -0
  33. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/models/search.py +0 -0
  34. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/platformid.py +0 -0
  35. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/igdb/core/tags.py +0 -0
  36. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/imageHost.py +0 -0
  37. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/mediaresult.py +0 -0
  38. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/sessions/__init__.py +0 -0
  39. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/sessions/agents.py +0 -0
  40. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/sessions/exceptions.py +0 -0
  41. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/sessions/session.py +0 -0
  42. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/__init__.py +0 -0
  43. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/__init__.py +0 -0
  44. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/api.py +0 -0
  45. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/keywords.py +0 -0
  46. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
  47. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
  48. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
  49. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
  50. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
  51. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
  52. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
  53. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
  54. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
  55. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
  56. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
  57. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
  58. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
  59. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/theMovieDB/core/videos.py +0 -0
  60. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/trailers/__init__.py +0 -0
  61. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/trailers/api.py +0 -0
  62. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/trailers/response.py +0 -0
  63. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/external_services/tvdb.py +0 -0
  64. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/extractor.py +0 -0
  65. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/frames.py +0 -0
  66. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/mediainfo.py +0 -0
  67. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/mediainfo_string.py +0 -0
  68. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/title.py +0 -0
  69. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/torrent_clients.py +0 -0
  70. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/trackers/__init__.py +0 -0
  71. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/trackers/data.py +0 -0
  72. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/trackers/itt.py +0 -0
  73. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/trackers/sis.py +0 -0
  74. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/trackers/trackers.py +0 -0
  75. {unit3dup-0.9.2 → unit3dup-0.9.3}/common/utility.py +0 -0
  76. {unit3dup-0.9.2 → unit3dup-0.9.3}/requirements.txt +0 -0
  77. {unit3dup-0.9.2 → unit3dup-0.9.3}/setup.cfg +0 -0
  78. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/__init__.py +0 -0
  79. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/__main__.py +0 -0
  80. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/automode.py +0 -0
  81. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/bot.py +0 -0
  82. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/duplicate.py +0 -0
  83. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/exceptions.py +0 -0
  84. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media.py +0 -0
  85. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/ContentManager.py +0 -0
  86. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/DocuManager.py +0 -0
  87. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/GameManager.py +0 -0
  88. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/MediaInfoManager.py +0 -0
  89. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/SeedManager.py +0 -0
  90. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/TorrentManager.py +0 -0
  91. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/VideoManager.py +0 -0
  92. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/__init__.py +0 -0
  93. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/media_manager/common.py +0 -0
  94. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/pvtDocu.py +0 -0
  95. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/pvtTorrent.py +0 -0
  96. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/pvtTracker.py +0 -0
  97. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/pvtVideo.py +0 -0
  98. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/torrent.py +0 -0
  99. {unit3dup-0.9.2 → unit3dup-0.9.3}/unit3dup/upload.py +0 -0
  100. {unit3dup-0.9.2 → unit3dup-0.9.3}/view/__init__.py +0 -0
  101. {unit3dup-0.9.2 → unit3dup-0.9.3}/view/custom_console.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Unit3Dup
3
- Version: 0.9.2
3
+ Version: 0.9.3
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.9.2
3
+ Version: 0.9.3
4
4
  Summary: An uploader for the Unit3D torrent tracker
5
5
  Author: Parzival
6
6
  License-Expression: MIT
@@ -58,18 +58,33 @@ TAG_TYPES = {
58
58
  "ESP": "flag",
59
59
 
60
60
  "TRUEHD": "audio",
61
+ "DDP7.1": "audio",
61
62
  "DDP5.1": "audio",
62
63
  "DDP2.0": "audio",
64
+
65
+ "DD7.1": "audio",
63
66
  "DD5.1": "audio",
64
67
  "DD2.0": "audio",
68
+
69
+ "DD+ 7.1": "audio",
70
+ "DD+ 5.1": "audio",
71
+ "DD+ 2.0": "audio",
72
+
73
+ "DD 7.1": "audio",
74
+ "DD 5.1": "audio",
75
+ "DD 2.0": "audio",
76
+
65
77
  "AAC2.0": "audio",
66
78
  "AAC5.1": "audio",
67
79
  "AC3": "audio",
68
80
  "DD": "audio",
81
+ "DD+": "audio",
82
+ "DDP": "audio",
69
83
  "E-AC3": "audio",
70
84
  "EAC3": "audio",
71
85
  "AC-3": "audio",
72
86
  "AAC": "audio",
87
+ "AVC": "audio",
73
88
 
74
89
  "7.1": "audio",
75
90
  "5.1": "audio",
@@ -124,7 +139,7 @@ class P2pTags:
124
139
  re.IGNORECASE
125
140
  )
126
141
 
127
- # Search for tags
142
+ # Search for tags in the title
128
143
  tags_match = pattern.findall(filename.upper())
129
144
 
130
145
  # remove dope
@@ -147,10 +162,7 @@ class P2pTags:
147
162
  # Add video codec only if there is no video categories
148
163
  if 'video' not in categories:
149
164
  video_format = self.mediafile.video_track[0].get('format', "") if self.mediafile.video_track else ""
150
- video_encode = self.mediafile.video_track[0].get('encoded_library_name',
151
- "") if self.mediafile.video_track else ""
152
165
  tags_match.append(video_format)
153
- tags_match.append(video_encode)
154
166
 
155
167
  # Add audio codec only if there is no audio categories
156
168
  if 'audio' not in categories:
@@ -161,15 +173,26 @@ class P2pTags:
161
173
  if 'flag' not in categories:
162
174
  tags_match.extend(self._audio_lang())
163
175
 
176
+ # Add subtitle tag if subtitle_track exist and there is no 'sub' in the title
177
+ if 'subtitle' not in categories:
178
+ if self.mediafile.subtitle_track:
179
+ tags_match.append("SUBS")
180
+
164
181
  # Translate audio codec
165
182
  audio_translate = {
166
183
  "AC3": "DD",
167
184
  "AC-3": "DD",
168
185
  "EAC3": "DD+",
169
186
  "E-AC3": "DD+",
187
+ "DDP2.0": "DD+",
188
+ "DDP5.1": "DD+",
189
+ "DDP7.1": "DD+",
190
+ "DDP": "DD+",
170
191
  }
192
+
171
193
  # lower the res..
172
194
  resolution_lower = {"4320P", "2160P", "1080P", "720P", "576P", "480P"}
195
+ codec_lower = {'X.264', 'X265', 'X.265', 'X264'}
173
196
 
174
197
  has_channel_tag = ch in tags_match
175
198
  new_tags = []
@@ -181,7 +204,7 @@ class P2pTags:
181
204
 
182
205
  # Add channels only if it does not exist
183
206
  if ch and not has_channel_tag:
184
- tag = f"{codec}{ch}"
207
+ tag = f"{codec} {ch}"
185
208
  else:
186
209
  tag = codec
187
210
 
@@ -193,16 +216,16 @@ class P2pTags:
193
216
  elif t == "SUB":
194
217
  tag = "SUBS"
195
218
 
219
+ elif t in codec_lower:
220
+ tag = t.lower()
221
+
196
222
  new_tags.append(tag)
197
223
 
198
224
  tags_match = new_tags
199
225
 
200
226
  # Check if a 'resolution' tag exists and add mediafile resolution if it doesn't
201
227
  if not any(TAG_TYPES.get(tag.upper()) == "resolution" for tag in tags_match):
202
- tags_match.append(self.mediafile_resolution.upper())
203
-
204
- # Fixed priority
205
- # precedence = ["resolution", "source", "audio", "flag", "subtitle", "video"]
228
+ tags_match.append(self.mediafile_resolution)
206
229
 
207
230
  # Assign an index to the 'precedence' keywords
208
231
  precedence_index = {}
@@ -15,7 +15,7 @@ from common.utility import ManageTitles
15
15
  from common import trackers
16
16
 
17
17
  config_file = "Unit3Dbot.json"
18
- version = "0.9.2"
18
+ version = "0.9.3"
19
19
 
20
20
  if os.name == "nt":
21
21
  WATCHER_DESTINATION_PATH: Path = Path(os.getenv("LOCALAPPDATA", ".")) / "Unit3Dup_config" / "watcher_destination_path"
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  dynamic = ["dependencies"]
7
7
  name = "Unit3Dup"
8
- version = "0.9.2"
8
+ version = "0.9.3"
9
9
  description = "An uploader for the Unit3D torrent tracker"
10
10
  readme = "README.rst"
11
11
  requires-python = ">=3.10"
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