Unit3Dup 0.9.6__tar.gz → 0.9.8__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.6 → unit3dup-0.9.8}/PKG-INFO +1 -1
  2. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/PKG-INFO +1 -1
  3. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/p2p_tags.py +21 -12
  4. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/settings.py +1 -1
  5. {unit3dup-0.9.6 → unit3dup-0.9.8}/pyproject.toml +1 -1
  6. {unit3dup-0.9.6 → unit3dup-0.9.8}/LICENSE +0 -0
  7. {unit3dup-0.9.6 → unit3dup-0.9.8}/README.rst +0 -0
  8. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/SOURCES.txt +0 -0
  9. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/dependency_links.txt +0 -0
  10. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/entry_points.txt +0 -0
  11. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/requires.txt +0 -0
  12. {unit3dup-0.9.6 → unit3dup-0.9.8}/Unit3Dup.egg-info/top_level.txt +0 -0
  13. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/__init__.py +0 -0
  14. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/bdinfo_string.py +0 -0
  15. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/bittorrent.py +0 -0
  16. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/command.py +0 -0
  17. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/constants.py +0 -0
  18. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/database.py +0 -0
  19. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/__init__.py +0 -0
  20. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/__init__.py +0 -0
  21. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/client.py +0 -0
  22. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/__init__.py +0 -0
  23. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/ftpx_service.py +0 -0
  24. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/ftpx_session.py +0 -0
  25. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/menu.py +0 -0
  26. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/models/__init__.py +0 -0
  27. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/ftpx/core/models/list.py +0 -0
  28. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/__init__.py +0 -0
  29. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/client.py +0 -0
  30. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/__init__.py +0 -0
  31. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/api.py +0 -0
  32. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/models/__init__.py +0 -0
  33. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/models/search.py +0 -0
  34. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/platformid.py +0 -0
  35. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/igdb/core/tags.py +0 -0
  36. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/imageHost.py +0 -0
  37. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/mediaresult.py +0 -0
  38. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/sessions/__init__.py +0 -0
  39. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/sessions/agents.py +0 -0
  40. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/sessions/exceptions.py +0 -0
  41. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/sessions/session.py +0 -0
  42. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/__init__.py +0 -0
  43. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/__init__.py +0 -0
  44. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/api.py +0 -0
  45. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/keywords.py +0 -0
  46. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
  47. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
  48. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
  49. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
  50. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
  51. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
  52. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
  53. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
  54. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
  55. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
  56. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
  57. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
  58. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
  59. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/theMovieDB/core/videos.py +0 -0
  60. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/trailers/__init__.py +0 -0
  61. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/trailers/api.py +0 -0
  62. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/trailers/response.py +0 -0
  63. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/external_services/tvdb.py +0 -0
  64. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/extractor.py +0 -0
  65. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/frames.py +0 -0
  66. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/mediainfo.py +0 -0
  67. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/mediainfo_string.py +0 -0
  68. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/title.py +0 -0
  69. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/torrent_clients.py +0 -0
  70. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/trackers/__init__.py +0 -0
  71. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/trackers/data.py +0 -0
  72. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/trackers/itt.py +0 -0
  73. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/trackers/sis.py +0 -0
  74. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/trackers/trackers.py +0 -0
  75. {unit3dup-0.9.6 → unit3dup-0.9.8}/common/utility.py +0 -0
  76. {unit3dup-0.9.6 → unit3dup-0.9.8}/requirements.txt +0 -0
  77. {unit3dup-0.9.6 → unit3dup-0.9.8}/setup.cfg +0 -0
  78. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/__init__.py +0 -0
  79. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/__main__.py +0 -0
  80. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/automode.py +0 -0
  81. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/bot.py +0 -0
  82. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/duplicate.py +0 -0
  83. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/exceptions.py +0 -0
  84. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media.py +0 -0
  85. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/ContentManager.py +0 -0
  86. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/DocuManager.py +0 -0
  87. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/GameManager.py +0 -0
  88. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/MediaInfoManager.py +0 -0
  89. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/SeedManager.py +0 -0
  90. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/TorrentManager.py +0 -0
  91. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/VideoManager.py +0 -0
  92. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/__init__.py +0 -0
  93. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/media_manager/common.py +0 -0
  94. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/pvtDocu.py +0 -0
  95. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/pvtTorrent.py +0 -0
  96. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/pvtTracker.py +0 -0
  97. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/pvtVideo.py +0 -0
  98. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/torrent.py +0 -0
  99. {unit3dup-0.9.6 → unit3dup-0.9.8}/unit3dup/upload.py +0 -0
  100. {unit3dup-0.9.6 → unit3dup-0.9.8}/view/__init__.py +0 -0
  101. {unit3dup-0.9.6 → unit3dup-0.9.8}/view/custom_console.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Unit3Dup
3
- Version: 0.9.6
3
+ Version: 0.9.8
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.6
3
+ Version: 0.9.8
4
4
  Summary: An uploader for the Unit3D torrent tracker
5
5
  Author: Parzival
6
6
  License-Expression: MIT
@@ -59,6 +59,10 @@ TAG_TYPES = {
59
59
  "FRA": "flag",
60
60
  "GER": "flag",
61
61
  "ESP": "flag",
62
+ "JPN": "flag",
63
+ "JAP": "flag",
64
+ "POR": "flag",
65
+ "PRT": "flag",
62
66
 
63
67
  "ATMOS": "audio",
64
68
  "TRUEHD": "audio",
@@ -116,6 +120,11 @@ TAG_TYPES = {
116
120
  "HDR": "video",
117
121
  "HDR10+": "video",
118
122
  "FHDRIP": "video",
123
+ "UHDRIP": "video",
124
+ "FULL HD": "video",
125
+ "FULLHD": "video",
126
+ "HD": "video",
127
+ "UHD 4K": "video",
119
128
 
120
129
  "4320P": "resolution",
121
130
  "2160P": "resolution",
@@ -150,7 +159,6 @@ class P2pTags:
150
159
 
151
160
  # Search for tags in the title
152
161
  tags_match = pattern.findall(filename.upper())
153
-
154
162
  # remove dope
155
163
  tags_match = list(dict.fromkeys(tags_match))
156
164
 
@@ -178,9 +186,12 @@ class P2pTags:
178
186
  audio_format = self.mediafile.audio_track[0].get('format', "") if self.mediafile.audio_track else ""
179
187
  tags_match.append(audio_format)
180
188
 
181
- # Add audio language if there is no audio categories
182
- if 'flag' not in categories:
183
- tags_match.extend(self._audio_lang())
189
+ # Add tag language if there is no tag
190
+ flags = self._audio_lang()
191
+ # are all the language tags from mediaInfo available in the title?
192
+ if len(flags) != tags_match.count('flag'):
193
+ missing_flags = [tag for tag in flags if tag not in tags_match]
194
+ tags_match.extend(missing_flags)
184
195
 
185
196
  # Add subtitle tag if subtitle_track exist and there is no 'sub' in the title
186
197
  if 'subtitle' not in categories:
@@ -254,15 +265,9 @@ class P2pTags:
254
265
  if not any(TAG_TYPES.get(tag.upper()) == "resolution" for tag in tags_match):
255
266
  tags_match.append(self.mediafile_resolution)
256
267
 
257
- # Assign an index to the 'precedence' keywords
258
- # precedence_index = {}
259
- # for i, v in enumerate(self.tags_position):
260
- # precedence_index[v] = i
261
-
262
268
  # /// Sort tags based on 2 rules:
263
269
  # 1) Order by tag_positions
264
270
  # 2) For audio and flag categories alternate them (audio/flag/audio/flag)
265
-
266
271
  # We can't sort each tags so we create dedicated list
267
272
  audio_q = deque()
268
273
  flag_q = deque()
@@ -329,8 +334,12 @@ class P2pTags:
329
334
  for t in l:
330
335
  c = ManageTitles.convert_iso(t)
331
336
  if c:
332
- lang.append(c)
333
- break
337
+ if isinstance(c,list):
338
+ lang.extend(c)
339
+ break
340
+ else:
341
+ lang.append(c)
342
+ break
334
343
  return lang
335
344
 
336
345
  def process(self) -> str:
@@ -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.6"
18
+ version = "0.9.8"
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.6"
8
+ version = "0.9.8"
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