d4rktg 0.3.4__py3-none-any.whl → 0.3.6__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.
d4rk/Handlers/_bot.py CHANGED
@@ -2,6 +2,7 @@ import os
2
2
  import sys
3
3
  import asyncio
4
4
  import traceback
5
+ import random
5
6
  from datetime import datetime, timedelta
6
7
 
7
8
  from pyrogram import Client
@@ -67,7 +68,7 @@ class BotManager(Client):
67
68
  if not os.path.exists("flood.txt"):
68
69
  return 0
69
70
  now = int(datetime.now(self.TZ).timestamp())
70
- available = []
71
+ flooded = []
71
72
  non_flooded = []
72
73
  for i in range(len(self.tokens)):
73
74
  until = self._flood_data.get(i, 0)
@@ -77,12 +78,12 @@ class BotManager(Client):
77
78
  self.save_flood_data()
78
79
  non_flooded.append((i))
79
80
  else:
80
- available.append((i, until))
81
- if non_flooded != []:
82
- return non_flooded[0]
81
+ flooded.append((i, until))
82
+ if non_flooded != []:
83
+ return random.choice(non_flooded)
83
84
  logger.warning("All tokens are in flood. Picking the one with the soonest expiry.")
84
- available.sort(key=lambda x: x[1])
85
- return available[0][0]
85
+ flooded.sort(key=lambda x: x[1])
86
+ return flooded[0][0]
86
87
  def save_flood_data(self):
87
88
  with open('flood.txt', "w") as f:
88
89
  for token_index, until in self._flood_data.items():
@@ -46,7 +46,6 @@ class MovieParser:
46
46
  return re.sub(roman_pattern, lambda m: m.group(0).upper(), text, flags=re.IGNORECASE)
47
47
 
48
48
  def extract(self, file_name: str) -> Movie:
49
-
50
49
  self.__parse_file_name(file_name)
51
50
  title = self.movie.get('title', '').replace('.', ' ').strip()
52
51
  if not title:title = self.fallback_title(self.file_name)
@@ -62,9 +61,129 @@ class MovieParser:
62
61
 
63
62
  extra = []
64
63
  tag_keywords = {
65
- 'psa': 'PSA', 'pahe': 'Pahe', 'galaxyrg': 'GalaxyRG',
66
- 'imax': 'IMAX', '60fps': '60FPS'
67
- }
64
+ # Release groups / encoders
65
+ 'psa': 'PSA',
66
+ 'pahe': 'Pahe',
67
+ 'galaxyrg': 'GalaxyRG',
68
+ 'yify': 'YIFY',
69
+ 'yts': 'YTS',
70
+ 'rarbg': 'RARBG',
71
+ 'ettv': 'ETTV',
72
+ 'evo': 'EVO',
73
+ 'fgt': 'FGT',
74
+ 'ntg': 'NTG',
75
+ 'tigole': 'Tigole',
76
+ 'qxr': 'QxR',
77
+ 'vxt': 'VXT',
78
+ 'cm8': 'CM8',
79
+ 'naisu': 'NAISU',
80
+ 'kog': 'KOGi',
81
+ 'spark': 'SPARKS',
82
+ 'don': 'DON',
83
+ 'lama': 'LAMA',
84
+ 'drone': 'DRONES',
85
+ 'iht': 'IHT',
86
+ 'amzn-rls': 'Amazon Release',
87
+
88
+ # Streaming platforms
89
+ 'nf': 'Netflix',
90
+ 'amzn': 'Amazon',
91
+ 'hmax': 'HBO Max',
92
+ 'dsnp': 'Disney+',
93
+ 'hulu': 'Hulu',
94
+ 'appletv': 'Apple TV+',
95
+ 'paramount': 'Paramount+',
96
+ 'peacock': 'Peacock',
97
+ 'crave': 'Crave',
98
+ 'zee5': 'ZEE5',
99
+ 'sony': 'SonyLiv',
100
+ 'atvp': 'Apple TV+',
101
+ 'mbc': 'MBC',
102
+
103
+ # Video quality / features
104
+ 'imax': 'IMAX',
105
+ 'hdr': 'HDR',
106
+ 'hdr10': 'HDR10',
107
+ 'hdr10+': 'HDR10+',
108
+ 'dolbyvision': 'Dolby Vision',
109
+ 'dv': 'Dolby Vision',
110
+ 'visionplus': 'Dolby Vision+',
111
+ '60fps': '60FPS',
112
+ '50fps': '50FPS',
113
+ '10bit': '10bit',
114
+ '8bit': '8bit',
115
+ 'hevc': 'HEVC',
116
+ 'x265': 'x265',
117
+ 'h265': 'H.265',
118
+ 'x264': 'x264',
119
+ 'h264': 'H.264',
120
+ 'av1': 'AV1',
121
+
122
+ # Audio formats
123
+ 'aac': 'AAC',
124
+ 'aac2': 'AAC2.0',
125
+ 'aac5': 'AAC5.1',
126
+ 'ac3': 'AC3',
127
+ 'eac3': 'EAC3',
128
+ 'dd': 'Dolby Digital',
129
+ 'ddp': 'Dolby Digital Plus',
130
+ 'ddp5': 'DDP5.1',
131
+ 'truehd': 'TrueHD',
132
+ 'dts': 'DTS',
133
+ 'dtsma': 'DTS-HD MA',
134
+ 'dtsx': 'DTS:X',
135
+ 'atmos': 'Dolby Atmos',
136
+ 'flac': 'FLAC',
137
+ 'opus': 'Opus',
138
+ 'mp3': 'MP3',
139
+ 'lpcm': 'LPCM',
140
+
141
+ # Sources
142
+ 'bluray': 'BluRay',
143
+ 'brrip': 'BRRip',
144
+ 'bdrip': 'BDRip',
145
+ 'webrip': 'WEBRip',
146
+ 'webdl': 'WEB-DL',
147
+ 'hdtv': 'HDTV',
148
+ 'dvdrip': 'DVDRip',
149
+ 'dvdscr': 'DVDScr',
150
+ 'r5': 'R5',
151
+ 'cam': 'CAM',
152
+ 'ts': 'TS',
153
+ 'telesync': 'Telesync',
154
+ 'telecine': 'Telecine',
155
+ 'screener': 'Screener',
156
+ 'vhsrip': 'VHSRip',
157
+
158
+ # Misc release tags
159
+ 'remux': 'Remux',
160
+ 'repack': 'Repack',
161
+ 'rerip': 'ReRip',
162
+ 'proper': 'Proper',
163
+ 'uncut': 'Uncut',
164
+ 'extended': 'Extended',
165
+ 'directors': "Director's Cut",
166
+ 'criterion': 'Criterion',
167
+ 'uncensored': 'Uncensored',
168
+ 'festival': 'Festival Cut',
169
+ 'sample': 'Sample',
170
+
171
+ # Scene vanity / oddball
172
+ '1337x': '1337x',
173
+ 'eztv': 'EZTV',
174
+ 'torrentgalaxy': 'TorrentGalaxy',
175
+ 'scene': 'Scene Release',
176
+ 'internal': 'Internal',
177
+ 'limited': 'Limited',
178
+ 'complete': 'Complete Series',
179
+ 'part': 'Part',
180
+ 'dubbed': 'Dubbed',
181
+ 'subbed': 'Subbed',
182
+ 'multi': 'Multi Audio',
183
+ 'dual': 'Dual Audio',
184
+ 'retail': 'Retail Rip',
185
+ }
186
+
68
187
  for k, v in tag_keywords.items():
69
188
  if k in self.file_name:
70
189
  extra.append(v)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: d4rktg
3
- Version: 0.3.4
3
+ Version: 0.3.6
4
4
  Summary: A module for create with easy and fast
5
5
  Author: D4rkShell
6
6
  Author-email: premiumqtrst@gmail.com
@@ -2,7 +2,7 @@ d4rk/__init__.py,sha256=Xq5qqX-FwosTJBLrSPF53FPD6fEISH750hbImZpSu5k,202
2
2
  d4rk/Database/__init__.py,sha256=TQB5D8PBDCq80jPq6rsC2G939yYYKTh_bCcOWsZ-nA8,18
3
3
  d4rk/Database/db.py,sha256=5T-dbHPQp9JF2rQb707SLSSkAaz8ghX4lO7g_Siy7oA,1870
4
4
  d4rk/Handlers/__init__.py,sha256=lO1b7Tnu3GWgwcJmX5qepiNqaBBi6qTgjj0SlzVUyEA,63
5
- d4rk/Handlers/_bot.py,sha256=v2XBzO0FUU9y6F9V9B8N2P2rrxmGZUC3u9xZg_2x7ik,11002
5
+ d4rk/Handlers/_bot.py,sha256=TVOV6u1rGmmxxAHFbwZhN0pPyDn14Jp2v01pMhL7po4,11013
6
6
  d4rk/Handlers/_scheduler.py,sha256=AyqexO4nxZlIzRfU9vWTfJtTWQVQmP4de7GRPg-3JkA,1236
7
7
  d4rk/Logs/__init__.py,sha256=mXWD5jXnyH3_AvS7K_ki3iw5BpoEAvrDFbmr-iEFNnY,22
8
8
  d4rk/Logs/_logger.py,sha256=lqfVvCO0vZ_IaGOdIE4HA2KAUQZh7yW2iAHZcBz7F4o,4120
@@ -14,10 +14,10 @@ d4rk/Utils/_decorators.py,sha256=G5gGayvcpZRRVo6ondbRqQYDN4yVczlEdSHwaOQ_TLI,414
14
14
  d4rk/Utils/_delete.py,sha256=gSmQAENGmM5XCCJfPuJ4vRMSxtixYG0vYdocU-2TSFg,581
15
15
  d4rk/Utils/_fonts.py,sha256=CQsDqPgvp27t3f75Cxod0EmZogEssLwIpyesH-YY5KM,7518
16
16
  d4rk/Utils/_ip.py,sha256=KJJW2QSngshIVWCO5YPXF1wj4IPQzVN5oFofpfzlU5w,559
17
- d4rk/Utils/_movie_parser.py,sha256=eiy1YVSu9fgk9pIXnMojJkWhW6SbdewKGF0ATk2qZoA,3440
17
+ d4rk/Utils/_movie_parser.py,sha256=QEPd3z04p4pk2vxZ-2fYlRxHmQbmwQd2mCIlBsBM5AY,7039
18
18
  d4rk/Utils/_ractions.py,sha256=wOVPyoFnbDuMgoP6NF_gLO1DYcfhERC0trdAK1jWSE8,2170
19
19
  d4rk/Utils/_terminal.py,sha256=Anu4OcffY3v6LMOrCskP1cHrJIliomo1Hjownbhh2sQ,125
20
- d4rktg-0.3.4.dist-info/METADATA,sha256=N2PNe8RewfOca3e6248DRHwd3mIy66uO7hJDHGAuZGE,652
21
- d4rktg-0.3.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- d4rktg-0.3.4.dist-info/top_level.txt,sha256=qs1qTnKWImmGi7E0FoJS0OAEOHoVZA9vHRS3Pm6ncAo,5
23
- d4rktg-0.3.4.dist-info/RECORD,,
20
+ d4rktg-0.3.6.dist-info/METADATA,sha256=dMOjZ3OaRbk-LlerwgDfBMA-7WMTT51s6at5rEzzmHY,652
21
+ d4rktg-0.3.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ d4rktg-0.3.6.dist-info/top_level.txt,sha256=qs1qTnKWImmGi7E0FoJS0OAEOHoVZA9vHRS3Pm6ncAo,5
23
+ d4rktg-0.3.6.dist-info/RECORD,,
File without changes