d4rktg 0.2.8__tar.gz → 0.3.0__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-0.2.8 → d4rktg-0.3.0}/PKG-INFO +1 -1
  2. d4rktg-0.3.0/VERSION.txt +1 -0
  3. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Logs/_logger.py +31 -2
  4. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/__init__.py +1 -1
  5. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_fonts.py +10 -1
  6. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rktg.egg-info/PKG-INFO +1 -1
  7. d4rktg-0.2.8/VERSION.txt +0 -1
  8. {d4rktg-0.2.8 → d4rktg-0.3.0}/MANIFEST.in +0 -0
  9. {d4rktg-0.2.8 → d4rktg-0.3.0}/README.rst +0 -0
  10. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Database/__init__.py +0 -0
  11. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Database/db.py +0 -0
  12. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Handlers/__init__.py +0 -0
  13. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Handlers/_bot.py +0 -0
  14. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Handlers/_scheduler.py +0 -0
  15. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Logs/__init__.py +0 -0
  16. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Models/__init__.py +0 -0
  17. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Models/_commands.py +0 -0
  18. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Models/_movie_title.py +0 -0
  19. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_decorators.py +0 -0
  20. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_delete.py +0 -0
  21. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_ip.py +0 -0
  22. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_movie_parser.py +0 -0
  23. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_ractions.py +0 -0
  24. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/Utils/_terminal.py +0 -0
  25. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rk/__init__.py +0 -0
  26. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rktg.egg-info/SOURCES.txt +0 -0
  27. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rktg.egg-info/dependency_links.txt +0 -0
  28. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rktg.egg-info/requires.txt +0 -0
  29. {d4rktg-0.2.8 → d4rktg-0.3.0}/d4rktg.egg-info/top_level.txt +0 -0
  30. {d4rktg-0.2.8 → d4rktg-0.3.0}/requirements.txt +0 -0
  31. {d4rktg-0.2.8 → d4rktg-0.3.0}/setup.cfg +0 -0
  32. {d4rktg-0.2.8 → d4rktg-0.3.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: d4rktg
3
- Version: 0.2.8
3
+ Version: 0.3.0
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
+ 0.3.0
@@ -1,10 +1,19 @@
1
1
  # src/Log/_logger_config.py
2
2
 
3
3
  import os
4
+ import sys
4
5
  import logging
6
+
5
7
  from datetime import datetime, timezone, timedelta
6
8
  from logging.handlers import TimedRotatingFileHandler
7
9
 
10
+ try:
11
+ import colorama
12
+ colorama.init(autoreset=True)
13
+ COLORAMA_AVAILABLE = True
14
+ except ImportError:
15
+ COLORAMA_AVAILABLE = False
16
+
8
17
  def get_timezone_offset(time_zone: str = "00:00") -> timezone:
9
18
  if time_zone:
10
19
  try:
@@ -20,6 +29,18 @@ def get_timezone_offset(time_zone: str = "00:00") -> timezone:
20
29
  TZ = get_timezone_offset(os.getenv("TIME_ZONE", "05:30"))
21
30
 
22
31
  class TimeZoneFormatter(logging.Formatter):
32
+
33
+ def __init__(self, fmt, datefmt=None, use_colors=False):
34
+ super().__init__(fmt, datefmt)
35
+ self.use_colors = use_colors
36
+ self.COLORS = {
37
+ logging.DEBUG: "\033[36m", # Cyan
38
+ logging.INFO: "\033[32m", # Green
39
+ logging.WARNING: "\033[33m", # Yellow
40
+ logging.ERROR: "\033[31m", # Red
41
+ logging.CRITICAL: "\033[41m",# Red background
42
+ }
43
+ self.RESET = "\033[0m"
23
44
  def converter(self, timestamp):
24
45
  dt = datetime.fromtimestamp(timestamp, tz=timezone.utc)
25
46
  return dt.astimezone(TZ).timetuple()
@@ -31,6 +52,12 @@ class TimeZoneFormatter(logging.Formatter):
31
52
  return time_zone_time.strftime(datefmt)
32
53
  else:
33
54
  return time_zone_time.strftime('%Y-%m-%d %H:%M:%S %z')
55
+
56
+ def format(self, record):
57
+ message = super().format(record)
58
+ if self.use_colors and record.levelno in self.COLORS:
59
+ return f"{self.COLORS[record.levelno]}{message}{self.RESET}"
60
+ return message
34
61
 
35
62
  def setup_logger(name=__name__, log_level=logging.INFO):
36
63
  log_dir = "logs"
@@ -48,6 +75,7 @@ def setup_logger(name=__name__, log_level=logging.INFO):
48
75
  file_handler = TimedRotatingFileHandler(
49
76
  filename=os.path.join(log_dir, f"log-{time_zone_now.strftime('%Y-%m-%d')}.txt"),
50
77
  when='midnight',
78
+ use_colors=False,
51
79
  interval=1,
52
80
  backupCount=30
53
81
  )
@@ -55,11 +83,12 @@ def setup_logger(name=__name__, log_level=logging.INFO):
55
83
 
56
84
  console_handler = logging.StreamHandler()
57
85
  console_handler.setLevel(log_level)
58
-
86
+ use_colors = sys.stdout.isatty() and COLORAMA_AVAILABLE
59
87
  # Create formatter with Sri Lanka timezone
60
88
  formatter = TimeZoneFormatter(
61
89
  '%(asctime)s - %(name)s - %(funcName)s:%(lineno)d - %(levelname)s - %(message)s',
62
- datefmt='%Y-%m-%d %H:%M:%S'
90
+ datefmt='%Y-%m-%d %H:%M:%S',
91
+ use_colors=use_colors
63
92
  )
64
93
 
65
94
  file_handler.setFormatter(formatter)
@@ -3,5 +3,5 @@ from ._ip import check_public_ip_reachable , get_public_ip
3
3
  from ._decorators import authorize
4
4
  from ._delete import delete
5
5
  from ._ractions import Reacts
6
- from ._fonts import FontMessageMixin , get_font
6
+ from ._fonts import FontMessageMixin , get_font , web_app_data
7
7
  from ._movie_parser import parser
@@ -4,7 +4,7 @@ import re
4
4
 
5
5
  from typing import List, Optional, Union
6
6
 
7
- from pyrogram import Client
7
+ from pyrogram import Client , filters
8
8
  from pyrogram.enums import ParseMode
9
9
  from pyrogram.types import Message, CallbackQuery
10
10
 
@@ -61,6 +61,15 @@ class FontMessageMixin(Client):
61
61
  current += len(messages)
62
62
  return messages_list
63
63
 
64
+ def web_app_data_filter(self,key_value):
65
+ async def filter_func(flt, client, update: Message):
66
+ if update.web_app_data:
67
+ return update.web_app_data.data.startswith(key_value)
68
+ return False
69
+ return filters.create(filter_func)
70
+
71
+ web_app_data = filters.create(web_app_data_filter)
72
+
64
73
  def get_font(text: str, font: int = 1):
65
74
  if int(font) ==0:return text
66
75
  font_name = f"__font{font}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: d4rktg
3
- Version: 0.2.8
3
+ Version: 0.3.0
4
4
  Summary: A module for create with easy and fast
5
5
  Author: D4rkShell
6
6
  Author-email: premiumqtrst@gmail.com
d4rktg-0.2.8/VERSION.txt DELETED
@@ -1 +0,0 @@
1
- 0.2.8
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