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 +31 -2
- d4rk/Utils/__init__.py +1 -1
- d4rk/Utils/_fonts.py +10 -1
- {d4rktg-0.2.8.dist-info → d4rktg-0.3.0.dist-info}/METADATA +1 -1
- {d4rktg-0.2.8.dist-info → d4rktg-0.3.0.dist-info}/RECORD +7 -7
- {d4rktg-0.2.8.dist-info → d4rktg-0.3.0.dist-info}/WHEEL +0 -0
- {d4rktg-0.2.8.dist-info → d4rktg-0.3.0.dist-info}/top_level.txt +0 -0
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}"
|
@@ -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=
|
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=
|
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=
|
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.
|
21
|
-
d4rktg-0.
|
22
|
-
d4rktg-0.
|
23
|
-
d4rktg-0.
|
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
|
File without changes
|