arpakitlib 1.6.41__py3-none-any.whl → 1.6.43__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.
- arpakitlib/ar_aiogram_util.py +6 -1
- arpakitlib/ar_settings_util.py +23 -0
- arpakitlib/ar_sqlalchemy_util.py +8 -3
- {arpakitlib-1.6.41.dist-info → arpakitlib-1.6.43.dist-info}/METADATA +1 -1
- {arpakitlib-1.6.41.dist-info → arpakitlib-1.6.43.dist-info}/RECORD +8 -7
- {arpakitlib-1.6.41.dist-info → arpakitlib-1.6.43.dist-info}/LICENSE +0 -0
- {arpakitlib-1.6.41.dist-info → arpakitlib-1.6.43.dist-info}/NOTICE +0 -0
- {arpakitlib-1.6.41.dist-info → arpakitlib-1.6.43.dist-info}/WHEEL +0 -0
arpakitlib/ar_aiogram_util.py
CHANGED
@@ -112,6 +112,10 @@ class WithFromCD(BaseCD, prefix="WithFromCD"):
|
|
112
112
|
from_: Optional[str] = None
|
113
113
|
|
114
114
|
|
115
|
+
class RemoveMessageCD(WithFromCD, prefix=generate_cd_prefix("RemoveMessageCD")):
|
116
|
+
pass
|
117
|
+
|
118
|
+
|
115
119
|
class BadTgCommandFormat(BadCommandFormat):
|
116
120
|
pass
|
117
121
|
|
@@ -318,7 +322,7 @@ class SimpleMiddleware(BaseMiddleware, ABC):
|
|
318
322
|
self._logger = logging.getLogger(self.__class__.__name__)
|
319
323
|
|
320
324
|
|
321
|
-
def
|
325
|
+
def create_aiogram_tg_bot(*, tg_bot_token: str, tg_bot_proxy_url: str | None = None) -> Bot:
|
322
326
|
session: AiohttpSession | None = None
|
323
327
|
if tg_bot_proxy_url:
|
324
328
|
session = AiohttpSession(proxy=tg_bot_proxy_url)
|
@@ -331,6 +335,7 @@ def create_tg_bot(*, tg_bot_token: str, tg_bot_proxy_url: str | None = None) ->
|
|
331
335
|
),
|
332
336
|
session=session
|
333
337
|
)
|
338
|
+
|
334
339
|
return tg_bot
|
335
340
|
|
336
341
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from pydantic import ConfigDict, field_validator
|
2
|
+
from pydantic_settings import BaseSettings
|
3
|
+
|
4
|
+
from arpakitlib.ar_enumeration_util import Enumeration
|
5
|
+
|
6
|
+
|
7
|
+
class ModeTypes(Enumeration):
|
8
|
+
local: str = "local"
|
9
|
+
dev: str = "dev"
|
10
|
+
preprod: str = "preprod"
|
11
|
+
prod: str = "prod"
|
12
|
+
|
13
|
+
|
14
|
+
class SimpleSettings(BaseSettings):
|
15
|
+
model_config = ConfigDict(extra="ignore")
|
16
|
+
|
17
|
+
mode_type: str
|
18
|
+
|
19
|
+
@field_validator("mode_type")
|
20
|
+
@classmethod
|
21
|
+
def validate_mode_type(cls, v: str):
|
22
|
+
ModeTypes.parse_and_validate_values(v)
|
23
|
+
return v
|
arpakitlib/ar_sqlalchemy_util.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# arpakit
|
2
2
|
import asyncio
|
3
3
|
import logging
|
4
|
-
from datetime import timedelta
|
4
|
+
from datetime import timedelta, datetime
|
5
5
|
from typing import Any
|
6
6
|
from uuid import uuid4
|
7
7
|
|
@@ -9,6 +9,8 @@ from sqlalchemy import create_engine, QueuePool, text, func
|
|
9
9
|
from sqlalchemy.orm import sessionmaker, DeclarativeBase
|
10
10
|
from sqlalchemy.orm.session import Session
|
11
11
|
|
12
|
+
from arpakitlib.ar_datetime_util import now_utc_dt
|
13
|
+
|
12
14
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
13
15
|
|
14
16
|
|
@@ -78,9 +80,9 @@ class SQLAlchemyDB:
|
|
78
80
|
self.engine.connect()
|
79
81
|
self._logger.info("db conn is good")
|
80
82
|
|
81
|
-
def new_session(self) -> Session:
|
83
|
+
def new_session(self, **kwargs) -> Session:
|
82
84
|
self.func_new_session_counter += 1
|
83
|
-
return self.sessionmaker(
|
85
|
+
return self.sessionmaker(**kwargs)
|
84
86
|
|
85
87
|
def is_conn_good(self) -> bool:
|
86
88
|
try:
|
@@ -104,6 +106,9 @@ class SQLAlchemyDB:
|
|
104
106
|
res = str(uuid4())
|
105
107
|
return res
|
106
108
|
|
109
|
+
def generate_creation_dt(self) -> datetime:
|
110
|
+
return now_utc_dt()
|
111
|
+
|
107
112
|
|
108
113
|
def __example():
|
109
114
|
pass
|
@@ -4,7 +4,7 @@ arpakitlib/NOTICE,sha256=wHwmiq3wExfFfgMsE5U5TOBP9_l72ocIG82KurEels0,43
|
|
4
4
|
arpakitlib/README.md,sha256=mBdzFR-3Dw6ADRTIbfOz2ZHvZt5589zBjhBkpEcakSY,92
|
5
5
|
arpakitlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
arpakitlib/ar_additional_model_util.py,sha256=t95M4Ggl7EBRj7qOJHmuo5p2YmE7LlJdEAMNzse3vhE,309
|
7
|
-
arpakitlib/ar_aiogram_util.py,sha256=
|
7
|
+
arpakitlib/ar_aiogram_util.py,sha256=hyHa1Z-AxIZ9DtGWDxMcbWAyYu1ZmcXrCEmvSdvM8No,12075
|
8
8
|
arpakitlib/ar_arpakit_lib_module_util.py,sha256=V_mc3Ml73Tzz3arxmwEfIxruKMyrwbe8XZ9FfVDtUXY,5446
|
9
9
|
arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=SYWWQDohPnw0qpBIu2hEvGZRVdaI4NUUQdEjnMnseo4,18237
|
10
10
|
arpakitlib/ar_arpakitlib_info.py,sha256=cvgrLnEznmYkCAg1adbY46ATjD6GJd-Yk8PTgOPjpKM,248
|
@@ -55,16 +55,17 @@ arpakitlib/ar_parse_command.py,sha256=qpr2OwG3Bf7DFiL9S3iWgtbvtE80RSC35E5zFJvjG1
|
|
55
55
|
arpakitlib/ar_postgresql_util.py,sha256=1AuLjEaa1Lg4pzn-ukCVnDi35Eg1k91APRTqZhIJAdo,945
|
56
56
|
arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
|
57
57
|
arpakitlib/ar_schedule_uust_api_client_util.py,sha256=0X4yACjt8cxMvuoZUq4S0HuVhVUQW5fGmiPcG7vwM8Y,6027
|
58
|
+
arpakitlib/ar_settings_util.py,sha256=vVm2_e0WQ6TH_w7TZ5FIhSfsLg_Hkpd4l1HHPAF_FdU,539
|
58
59
|
arpakitlib/ar_sleep_util.py,sha256=9ZN4Qo4eZ_q3hjM7vNBQjFRcH-9-sqv3QLSjnxVJE90,1405
|
59
60
|
arpakitlib/ar_sqlalchemy_model_util.py,sha256=ttdgOwQfoHTKqgivBtXoSbJoBCASHDjLEFK5tJ9kNNE,4779
|
60
|
-
arpakitlib/ar_sqlalchemy_util.py,sha256=
|
61
|
+
arpakitlib/ar_sqlalchemy_util.py,sha256=3wejwPbH5VsTZAWvJQ4qQ8tda-PWBmqVThwRyKnyGqo,4153
|
61
62
|
arpakitlib/ar_ssh_util.py,sha256=jlnss4V4pziBN1rBzoK_lDiWm6nMOqGXfa6NFJSKH-Y,6796
|
62
63
|
arpakitlib/ar_str_util.py,sha256=xSEzmsDvRiZVaxyqFFjcgzpphktCbXg2FHcvsd1DYpA,1885
|
63
64
|
arpakitlib/ar_type_util.py,sha256=I6jbTz7_dxR1lkhz1JfUb5ZyLLdXVhG_-hzjdgT6N6s,1932
|
64
65
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=5GMvu8paByni8buhc1vpHB7n6oXe0gPfj1LSvnyZCrQ,5307
|
65
66
|
arpakitlib/ar_zabbix_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
66
|
-
arpakitlib-1.6.
|
67
|
-
arpakitlib-1.6.
|
68
|
-
arpakitlib-1.6.
|
69
|
-
arpakitlib-1.6.
|
70
|
-
arpakitlib-1.6.
|
67
|
+
arpakitlib-1.6.43.dist-info/LICENSE,sha256=1jqWIkbnMxDfs_i0SXP5qbV6PHjBr1g8506oW7uPjfg,11347
|
68
|
+
arpakitlib-1.6.43.dist-info/METADATA,sha256=UZE6n8h6Jg2hcBhO0CffXapDQTrpTzgUDP06UfflVDE,2320
|
69
|
+
arpakitlib-1.6.43.dist-info/NOTICE,sha256=wHwmiq3wExfFfgMsE5U5TOBP9_l72ocIG82KurEels0,43
|
70
|
+
arpakitlib-1.6.43.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
71
|
+
arpakitlib-1.6.43.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|