Unit3Dup 0.9.26__tar.gz → 0.9.28__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 (104) hide show
  1. {unit3dup-0.9.26 → unit3dup-0.9.28}/PKG-INFO +1 -1
  2. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/PKG-INFO +1 -1
  3. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/settings.py +1 -1
  4. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/tags.py +20 -3
  5. {unit3dup-0.9.26 → unit3dup-0.9.28}/pyproject.toml +1 -1
  6. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/VideoManager.py +2 -2
  7. {unit3dup-0.9.26 → unit3dup-0.9.28}/LICENSE +0 -0
  8. {unit3dup-0.9.26 → unit3dup-0.9.28}/README.rst +0 -0
  9. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/SOURCES.txt +0 -0
  10. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/dependency_links.txt +0 -0
  11. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/entry_points.txt +0 -0
  12. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/requires.txt +0 -0
  13. {unit3dup-0.9.26 → unit3dup-0.9.28}/Unit3Dup.egg-info/top_level.txt +0 -0
  14. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/__init__.py +0 -0
  15. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/bdinfo_string.py +0 -0
  16. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/bittorrent.py +0 -0
  17. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/command.py +0 -0
  18. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/constants.py +0 -0
  19. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/database.py +0 -0
  20. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/__init__.py +0 -0
  21. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/__init__.py +0 -0
  22. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/client.py +0 -0
  23. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/__init__.py +0 -0
  24. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/ftpx_service.py +0 -0
  25. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/ftpx_session.py +0 -0
  26. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/menu.py +0 -0
  27. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/models/__init__.py +0 -0
  28. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/ftpx/core/models/list.py +0 -0
  29. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/__init__.py +0 -0
  30. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/client.py +0 -0
  31. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/__init__.py +0 -0
  32. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/api.py +0 -0
  33. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/models/__init__.py +0 -0
  34. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/models/search.py +0 -0
  35. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/platformid.py +0 -0
  36. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/igdb/core/tags.py +0 -0
  37. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/imageHost.py +0 -0
  38. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/mediaresult.py +0 -0
  39. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/sessions/__init__.py +0 -0
  40. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/sessions/agents.py +0 -0
  41. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/sessions/exceptions.py +0 -0
  42. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/sessions/session.py +0 -0
  43. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/__init__.py +0 -0
  44. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/__init__.py +0 -0
  45. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/api.py +0 -0
  46. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/keywords.py +0 -0
  47. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
  48. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
  49. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
  50. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
  51. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
  52. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
  53. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
  54. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
  55. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
  56. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
  57. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
  58. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
  59. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
  60. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/theMovieDB/core/videos.py +0 -0
  61. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/trailers/__init__.py +0 -0
  62. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/trailers/api.py +0 -0
  63. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/trailers/response.py +0 -0
  64. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/external_services/tvdb.py +0 -0
  65. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/extractor.py +0 -0
  66. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/frames.py +0 -0
  67. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/mediainfo.py +0 -0
  68. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/mediainfo_string.py +0 -0
  69. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/title.py +0 -0
  70. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/torrent_clients.py +0 -0
  71. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/__init__.py +0 -0
  72. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/ban_list.py +0 -0
  73. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/data.py +0 -0
  74. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/itt.py +0 -0
  75. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/signs_list.py +0 -0
  76. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/sis.py +0 -0
  77. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/tags_list.py +0 -0
  78. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/trackers/trackers.py +0 -0
  79. {unit3dup-0.9.26 → unit3dup-0.9.28}/common/utility.py +0 -0
  80. {unit3dup-0.9.26 → unit3dup-0.9.28}/requirements.txt +0 -0
  81. {unit3dup-0.9.26 → unit3dup-0.9.28}/setup.cfg +0 -0
  82. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/__init__.py +0 -0
  83. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/__main__.py +0 -0
  84. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/automode.py +0 -0
  85. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/bot.py +0 -0
  86. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/duplicate.py +0 -0
  87. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/exceptions.py +0 -0
  88. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media.py +0 -0
  89. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/ContentManager.py +0 -0
  90. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/DocuManager.py +0 -0
  91. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/GameManager.py +0 -0
  92. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/MediaInfoManager.py +0 -0
  93. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/SeedManager.py +0 -0
  94. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/TorrentManager.py +0 -0
  95. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/__init__.py +0 -0
  96. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/media_manager/common.py +0 -0
  97. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/pvtDocu.py +0 -0
  98. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/pvtTorrent.py +0 -0
  99. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/pvtTracker.py +0 -0
  100. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/pvtVideo.py +0 -0
  101. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/torrent.py +0 -0
  102. {unit3dup-0.9.26 → unit3dup-0.9.28}/unit3dup/upload.py +0 -0
  103. {unit3dup-0.9.26 → unit3dup-0.9.28}/view/__init__.py +0 -0
  104. {unit3dup-0.9.26 → unit3dup-0.9.28}/view/custom_console.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Unit3Dup
3
- Version: 0.9.26
3
+ Version: 0.9.28
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.26
3
+ Version: 0.9.28
4
4
  Summary: An uploader for the Unit3D torrent tracker
5
5
  Author: Parzival
6
6
  License-Expression: MIT
@@ -23,7 +23,7 @@ user_tags_file = "tags_list.json"
23
23
  user_sign_file = "sign_list.json"
24
24
  bane_file = "ban_list.json"
25
25
 
26
- version = "0.9.26"
26
+ version = "0.9.28"
27
27
 
28
28
  if os.name == "nt":
29
29
  WATCHER_DESTINATION_PATH: Path = Path(
@@ -1,7 +1,8 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  import re
3
- from common.mediainfo import MediaFile
4
3
  from common.utility import ManageTitles
4
+ from common.mediainfo import MediaFile
5
+ from unit3dup.media import Media
5
6
  from view import custom_console
6
7
 
7
8
  # From hdr format
@@ -57,12 +58,13 @@ video_encoder_translate = {
57
58
 
58
59
  class SearchTags(object):
59
60
  def __init__(self, filename, title: str, year: str, season: int, episode: int,
60
- mediafile: MediaFile, tags_position: list, tags_list: dict, sign_list: dict, ban_list: dict,
61
+ media: Media, tags_position: list, tags_list: dict, sign_list: dict, ban_list: dict,
61
62
  releaser_sign: str):
62
63
 
64
+ self.mediafile: MediaFile = media.mediafile
63
65
  self.tags_position = tags_position
64
66
  self.releaser_sign = releaser_sign
65
- self.mediafile = mediafile
67
+ self.media: Media = media
66
68
  self.filename = filename
67
69
  self.episode = episode
68
70
  self.season = season
@@ -271,6 +273,7 @@ class SearchTags(object):
271
273
  for video in self.mediafile.video_track:
272
274
  hdr_format_commercial = video.get('hdr_format_commercial', "")
273
275
  hdr_format = video.get('hdr_format', "")
276
+ other_hdr_format = video.get('other_hdr_format', "")
274
277
  colour_primaries = video.get('color_primaries', "")
275
278
  matrix_coefficients = video.get('matrix_coefficients', "")
276
279
  bit_depth = video.get('bit_depth', "")
@@ -290,6 +293,20 @@ class SearchTags(object):
290
293
  custom_console.bot_warning_log(
291
294
  f"<> HDR Warning: '{hdr_format_commercial}' not found in hdr_map")
292
295
  if 'DOLBY VISION' in hdr_format_commercial.upper() or 'DOLBY VISION' in hdr_format.upper():
296
+ # Search for fake remux
297
+ if any("dvhe.08" in s or "Profile 8" in s for s in other_hdr_format):
298
+ remux = self.tags_dict.get('remux', '')
299
+ if remux:
300
+ remux = remux[0]
301
+ if 'remux' in remux.lower():
302
+ del self.tags_dict[remux.lower()]
303
+ self.tags_dict.update({'source': 'ENCODE'})
304
+ self.media.file_name = self.media.file_name.replace(remux, 'ENCODE')
305
+ custom_console.bot_warning_log(
306
+ f"<> Warning: Detected REMUX with {other_hdr_format}")
307
+ hdr = f"DOLBY VISION {hdr}"
308
+ return {category: f"{hdr_map.get(hdr, '*HDR')}"}
309
+
293
310
  hdr = f"DOLBY VISION {hdr}"
294
311
  return {category: hdr_map.get(hdr, '*HDR')}
295
312
  else:
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  dynamic = ["dependencies"]
7
7
  name = "Unit3Dup"
8
- version = "0.9.26"
8
+ version = "0.9.28"
9
9
  description = "An uploader for the Unit3D torrent tracker"
10
10
  readme = "README.rst"
11
11
  requires-python = ">=3.10"
@@ -55,7 +55,7 @@ class VideoManager:
55
55
  guess = guess_filename.guessit
56
56
  tags_position = config_settings.user_preferences.TAGS_POSITION_SERIE if content.category=='tv'\
57
57
  else config_settings.user_preferences.TAGS_POSITION_MOVIE
58
- search_tags = SearchTags(filename=content.title, # title_sanitize_tags,
58
+ search_tags = SearchTags(filename=content.title,
59
59
  title=guess.get("title", None),
60
60
  year=guess.get("year", ""),
61
61
  season=content.guess_season,
@@ -65,7 +65,7 @@ class VideoManager:
65
65
  tags_list=self.tags_list,
66
66
  sign_list=self.sign_list,
67
67
  ban_list=self.ban_list,
68
- mediafile=content.mediafile,
68
+ media=content,
69
69
  )
70
70
  content.display_name = search_tags.process()
71
71
 
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