d4rktg 0.2.8__py3-none-any.whl → 0.3.0__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/Logs/_logger.py CHANGED
@@ -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)
d4rk/Utils/__init__.py CHANGED
@@ -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
d4rk/Utils/_fonts.py CHANGED
@@ -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
@@ -5,19 +5,19 @@ d4rk/Handlers/__init__.py,sha256=lO1b7Tnu3GWgwcJmX5qepiNqaBBi6qTgjj0SlzVUyEA,63
5
5
  d4rk/Handlers/_bot.py,sha256=v2XBzO0FUU9y6F9V9B8N2P2rrxmGZUC3u9xZg_2x7ik,11002
6
6
  d4rk/Handlers/_scheduler.py,sha256=AyqexO4nxZlIzRfU9vWTfJtTWQVQmP4de7GRPg-3JkA,1236
7
7
  d4rk/Logs/__init__.py,sha256=mXWD5jXnyH3_AvS7K_ki3iw5BpoEAvrDFbmr-iEFNnY,22
8
- d4rk/Logs/_logger.py,sha256=C09OA5wUpl5oLp7oAs5P2CrpBKkcHxjUYetCtHJ1Kqk,2379
8
+ d4rk/Logs/_logger.py,sha256=t8MqceT5mWmh9qCmGieQqA1zX7RmOWbFVI5NEHxPFE8,3362
9
9
  d4rk/Models/__init__.py,sha256=7bYM2c5Uk_VEg7NxIGH2EcEXGcAguwxvH23-Gy1orMM,100
10
10
  d4rk/Models/_commands.py,sha256=U831pYCQbAYxyn3t6f49Wlk7vWycynR0sjxIOy0xjS8,2816
11
11
  d4rk/Models/_movie_title.py,sha256=Xp8eafBP-kD3MxAdeNcb7EyiAojn5fDQ18la7vxrg10,812
12
- d4rk/Utils/__init__.py,sha256=qD5-DEsus15cuOo_IMGviNajeqZhPKlyETUuEEOS6P0,277
12
+ d4rk/Utils/__init__.py,sha256=zlMEsmZ7sJI5JbhgVrFF8-GyWzUrPI9QIhB-P5pG6vE,292
13
13
  d4rk/Utils/_decorators.py,sha256=G5gGayvcpZRRVo6ondbRqQYDN4yVczlEdSHwaOQ_TLI,4145
14
14
  d4rk/Utils/_delete.py,sha256=gSmQAENGmM5XCCJfPuJ4vRMSxtixYG0vYdocU-2TSFg,581
15
- d4rk/Utils/_fonts.py,sha256=DS-mhoe_oIKoD6SgW0GI4CP2gx5dOTvysaV-G-ElTf0,7190
15
+ d4rk/Utils/_fonts.py,sha256=CQsDqPgvp27t3f75Cxod0EmZogEssLwIpyesH-YY5KM,7518
16
16
  d4rk/Utils/_ip.py,sha256=KJJW2QSngshIVWCO5YPXF1wj4IPQzVN5oFofpfzlU5w,559
17
17
  d4rk/Utils/_movie_parser.py,sha256=eiy1YVSu9fgk9pIXnMojJkWhW6SbdewKGF0ATk2qZoA,3440
18
18
  d4rk/Utils/_ractions.py,sha256=wOVPyoFnbDuMgoP6NF_gLO1DYcfhERC0trdAK1jWSE8,2170
19
19
  d4rk/Utils/_terminal.py,sha256=Anu4OcffY3v6LMOrCskP1cHrJIliomo1Hjownbhh2sQ,125
20
- d4rktg-0.2.8.dist-info/METADATA,sha256=ZbfFIOond8VRjb_vo7Ka2Qgc84TWEeZkzK5TC8AsR8g,652
21
- d4rktg-0.2.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- d4rktg-0.2.8.dist-info/top_level.txt,sha256=qs1qTnKWImmGi7E0FoJS0OAEOHoVZA9vHRS3Pm6ncAo,5
23
- d4rktg-0.2.8.dist-info/RECORD,,
20
+ d4rktg-0.3.0.dist-info/METADATA,sha256=aQxeBMDYoSvj6iitPNUkx3xz8TtMEuFOJyOIE05oe9g,652
21
+ d4rktg-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ d4rktg-0.3.0.dist-info/top_level.txt,sha256=qs1qTnKWImmGi7E0FoJS0OAEOHoVZA9vHRS3Pm6ncAo,5
23
+ d4rktg-0.3.0.dist-info/RECORD,,
File without changes