d4rktg 1.1.7__tar.gz → 1.1.9__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 (32) hide show
  1. {d4rktg-1.1.7/d4rktg.egg-info → d4rktg-1.1.9}/PKG-INFO +1 -1
  2. d4rktg-1.1.9/VERSION.txt +1 -0
  3. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_decorators.py +1 -1
  4. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_movie_parser.py +53 -22
  5. {d4rktg-1.1.7 → d4rktg-1.1.9/d4rktg.egg-info}/PKG-INFO +1 -1
  6. d4rktg-1.1.7/VERSION.txt +0 -1
  7. {d4rktg-1.1.7 → d4rktg-1.1.9}/MANIFEST.in +0 -0
  8. {d4rktg-1.1.7 → d4rktg-1.1.9}/README.rst +0 -0
  9. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Database/__init__.py +0 -0
  10. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Database/db.py +0 -0
  11. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Handlers/__init__.py +0 -0
  12. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Handlers/_bot.py +0 -0
  13. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Handlers/_custom.py +0 -0
  14. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Handlers/_scheduler.py +0 -0
  15. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Logs/__init__.py +0 -0
  16. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Logs/_logger.py +0 -0
  17. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/__init__.py +0 -0
  18. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_buttons.py +0 -0
  19. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_filters.py +0 -0
  20. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_fonts.py +0 -0
  21. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_ip.py +0 -0
  22. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_ractions.py +0 -0
  23. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_terminal.py +0 -0
  24. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/Utils/_utils.py +0 -0
  25. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rk/__init__.py +0 -0
  26. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rktg.egg-info/SOURCES.txt +0 -0
  27. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rktg.egg-info/dependency_links.txt +0 -0
  28. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rktg.egg-info/requires.txt +0 -0
  29. {d4rktg-1.1.7 → d4rktg-1.1.9}/d4rktg.egg-info/top_level.txt +0 -0
  30. {d4rktg-1.1.7 → d4rktg-1.1.9}/requirements.txt +0 -0
  31. {d4rktg-1.1.7 → d4rktg-1.1.9}/setup.cfg +0 -0
  32. {d4rktg-1.1.7 → d4rktg-1.1.9}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: d4rktg
3
- Version: 1.1.7
3
+ Version: 1.1.9
4
4
  Summary: A module for create with easy and fast
5
5
  Author: D4rkShell
6
6
  Author-email: premiumqtrst@gmail.com
@@ -0,0 +1 @@
1
+ 1.1.9
@@ -72,7 +72,7 @@ def round_robin():
72
72
 
73
73
  if isinstance(message, ChatMemberUpdated):
74
74
  chat_id = message.chat.id
75
- msg_id = message.from_user.id
75
+ msg_id = message.date
76
76
  else:
77
77
  chat_id = message.chat.id
78
78
  msg_id = message.id
@@ -17,13 +17,27 @@ class Movie:
17
17
  split: bool = False
18
18
  part: Optional[int] = None
19
19
 
20
+ @dataclass
21
+ class TV:
22
+ title: str
23
+ normalized_title: str
24
+ season: Optional[int]
25
+ episode: Optional[int]
26
+ resolution: Optional[str]
27
+ quality: Optional[str]
28
+ codec: Optional[str]
29
+ extra: List[str] = field(default_factory=list)
30
+ split: bool = False
31
+ part: Optional[int] = None
32
+
20
33
  class MovieParser:
21
34
  def __parse_file_name(self, file_name: str):
22
35
  file_name = re.sub(r'@[\w_]+', '', file_name.lower()).strip()
23
36
  file_name = file_name.replace('_', ' ')
24
37
  self.file_name = file_name
25
38
  self.extension = self.file_name.split('.')[-1]
26
- self.movie = PTN.parse(self.file_name)
39
+ self.data = PTN.parse(self.file_name)
40
+ self.tv, self.movie = (self.data, None) if "season" in self.data else (None, self.data)
27
41
  self.tags = []
28
42
 
29
43
  def fallback_title(self, file_name):
@@ -45,18 +59,23 @@ class MovieParser:
45
59
  roman_pattern = r'\b(i{1,3}|iv|v|vi{0,3}|ix|x{1,3}|xl|l|li{0,3}|lx|xc|c|ci{0,3}|cd|d|dc|cm|m|m{1,3})\b'
46
60
  return re.sub(roman_pattern, lambda m: m.group(0).upper(), text, flags=re.IGNORECASE)
47
61
 
48
- def extract(self, file_name: str) -> Movie:
62
+
63
+ def _handle_movie(self):
64
+ pass
65
+
66
+ def extract(self, file_name: str) -> Union[Movie, TV]:
49
67
  self.__parse_file_name(file_name)
50
- title = self.movie.get('title', '').replace('.', ' ').strip()
68
+
69
+ title = str(self.data.get('title', '')).replace('.', ' ').strip()
51
70
  if not title:title = self.fallback_title(self.file_name)
52
71
  else:title = title.replace('.', ' ').strip()
53
72
 
54
- year = self.movie.get('year') or self.fallback_year(self.file_name)
73
+ year = self.data.get('year',None) or self.fallback_year(self.file_name)
55
74
  if year and str(year) in title:title = title.replace(str(year), '').strip()
56
75
 
57
- resolution = self.movie.get('resolution')
58
- quality = self.movie.get('quality')
59
- codec = self.movie.get('codec')
76
+ resolution = self.data.get('resolution')
77
+ quality = self.data.get('quality')
78
+ codec = self.data.get('codec')
60
79
  if codec:codec = codec.replace('H', 'x').replace('.', '')
61
80
 
62
81
  extra = []
@@ -167,18 +186,30 @@ class MovieParser:
167
186
  match = re.search(r'\.(\d{3})$', file_name)
168
187
  split = match is not None
169
188
  part = int(match.group(1)) if split else None
170
-
171
- return Movie(
172
- title=self._fix_roman_numerals(title.title()),
173
- normalized_title=re.sub(r'[^a-z0-9&\+]+', ' ', title.lower()).strip(),
174
- year=year,
175
- resolution=resolution,
176
- quality=quality,
177
- codec=codec,
178
- extra=extra,
179
- split=split,
180
- part=part
181
- )
182
-
183
- parser = MovieParser()
184
-
189
+ if self.movie:
190
+ return Movie(
191
+ title=self._fix_roman_numerals(title.title()),
192
+ normalized_title=re.sub(r'[^a-z0-9&\+]+', ' ', title.lower()).strip(),
193
+ year=year,
194
+ resolution=resolution,
195
+ quality=quality,
196
+ codec=codec,
197
+ extra=extra,
198
+ split=split,
199
+ part=part
200
+ )
201
+ else:
202
+ return TV(
203
+ title=self._fix_roman_numerals(title.title()),
204
+ normalized_title=re.sub(r'[^a-z0-9&\+]+', ' ', title.lower()).strip(),
205
+ season=self.data.get('season'),
206
+ episode=self.data.get('episode'),
207
+ resolution=resolution,
208
+ quality=quality,
209
+ codec=codec,
210
+ extra=extra,
211
+ split=split,
212
+ part=part
213
+ )
214
+
215
+ parser = MovieParser()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: d4rktg
3
- Version: 1.1.7
3
+ Version: 1.1.9
4
4
  Summary: A module for create with easy and fast
5
5
  Author: D4rkShell
6
6
  Author-email: premiumqtrst@gmail.com
d4rktg-1.1.7/VERSION.txt DELETED
@@ -1 +0,0 @@
1
- 1.1.7
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