arpakitlib 1.6.42__py3-none-any.whl → 1.6.44__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 +20 -2
- arpakitlib/ar_fastapi_util.py +7 -0
- arpakitlib/ar_settings_util.py +18 -8
- {arpakitlib-1.6.42.dist-info → arpakitlib-1.6.44.dist-info}/METADATA +1 -1
- {arpakitlib-1.6.42.dist-info → arpakitlib-1.6.44.dist-info}/RECORD +8 -8
- {arpakitlib-1.6.42.dist-info → arpakitlib-1.6.44.dist-info}/LICENSE +0 -0
- {arpakitlib-1.6.42.dist-info → arpakitlib-1.6.44.dist-info}/NOTICE +0 -0
- {arpakitlib-1.6.42.dist-info → arpakitlib-1.6.44.dist-info}/WHEEL +0 -0
arpakitlib/ar_aiogram_util.py
CHANGED
@@ -12,10 +12,12 @@ from aiogram.enums import ChatType, ParseMode
|
|
12
12
|
from aiogram.exceptions import AiogramError
|
13
13
|
from aiogram.filters import CommandObject, Filter
|
14
14
|
from aiogram.filters.callback_data import CallbackData
|
15
|
-
from pydantic import BaseModel
|
15
|
+
from pydantic import BaseModel, ConfigDict
|
16
16
|
|
17
17
|
from arpakitlib.ar_need_type_util import parse_need_type, NeedTypes
|
18
18
|
from arpakitlib.ar_parse_command import BadCommandFormat, parse_command
|
19
|
+
from arpakitlib.ar_settings_util import SimpleSettings
|
20
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
|
19
21
|
from arpakitlib.ar_type_util import raise_for_types, raise_for_type
|
20
22
|
|
21
23
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
@@ -112,6 +114,10 @@ class WithFromCD(BaseCD, prefix="WithFromCD"):
|
|
112
114
|
from_: Optional[str] = None
|
113
115
|
|
114
116
|
|
117
|
+
class RemoveMessageCD(WithFromCD, prefix=generate_cd_prefix("RemoveMessageCD")):
|
118
|
+
pass
|
119
|
+
|
120
|
+
|
115
121
|
class BadTgCommandFormat(BadCommandFormat):
|
116
122
|
pass
|
117
123
|
|
@@ -318,7 +324,18 @@ class SimpleMiddleware(BaseMiddleware, ABC):
|
|
318
324
|
self._logger = logging.getLogger(self.__class__.__name__)
|
319
325
|
|
320
326
|
|
321
|
-
|
327
|
+
class BaseTransmittedTgBotData(BaseModel):
|
328
|
+
model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
|
329
|
+
|
330
|
+
tg_bot: Bot
|
331
|
+
settings: SimpleSettings | None = None
|
332
|
+
|
333
|
+
|
334
|
+
class SimpleTransmittedTgBotData(BaseTransmittedTgBotData):
|
335
|
+
sqlalchemy_db: SQLAlchemyDB | None = None
|
336
|
+
|
337
|
+
|
338
|
+
def create_aiogram_tg_bot(*, tg_bot_token: str, tg_bot_proxy_url: str | None = None) -> Bot:
|
322
339
|
session: AiohttpSession | None = None
|
323
340
|
if tg_bot_proxy_url:
|
324
341
|
session = AiohttpSession(proxy=tg_bot_proxy_url)
|
@@ -331,6 +348,7 @@ def create_tg_bot(*, tg_bot_token: str, tg_bot_proxy_url: str | None = None) ->
|
|
331
348
|
),
|
332
349
|
session=session
|
333
350
|
)
|
351
|
+
|
334
352
|
return tg_bot
|
335
353
|
|
336
354
|
|
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -31,6 +31,7 @@ from arpakitlib.ar_enumeration_util import Enumeration
|
|
31
31
|
from arpakitlib.ar_json_util import safely_transfer_to_json_str_to_json_obj
|
32
32
|
from arpakitlib.ar_logging_util import setup_normal_logging
|
33
33
|
from arpakitlib.ar_operation_execution_util import ExecuteOperationWorker
|
34
|
+
from arpakitlib.ar_settings_util import SimpleSettings
|
34
35
|
from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
|
35
36
|
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
|
36
37
|
from arpakitlib.ar_type_util import raise_for_type, raise_if_not_async_func
|
@@ -427,6 +428,12 @@ class AsyncSafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
|
|
427
428
|
class BaseTransmittedAPIData(BaseModel):
|
428
429
|
model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
|
429
430
|
|
431
|
+
settings: SimpleSettings | None = None
|
432
|
+
|
433
|
+
|
434
|
+
class SimpleTransmittedAPIData(BaseTransmittedAPIData):
|
435
|
+
sqlalchemy_db: SQLAlchemyDB | None = None
|
436
|
+
|
430
437
|
|
431
438
|
def get_transmitted_api_data(request: starlette.requests.Request) -> BaseTransmittedAPIData:
|
432
439
|
return request.app.state.transmitted_api_data
|
arpakitlib/ar_settings_util.py
CHANGED
@@ -4,20 +4,30 @@ from pydantic_settings import BaseSettings
|
|
4
4
|
from arpakitlib.ar_enumeration_util import Enumeration
|
5
5
|
|
6
6
|
|
7
|
-
class ModeTypes(Enumeration):
|
8
|
-
local: str = "local"
|
9
|
-
dev: str = "dev"
|
10
|
-
preprod: str = "preprod"
|
11
|
-
prod: str = "prod"
|
12
|
-
|
13
|
-
|
14
7
|
class SimpleSettings(BaseSettings):
|
15
8
|
model_config = ConfigDict(extra="ignore")
|
16
9
|
|
10
|
+
class ModeTypes(Enumeration):
|
11
|
+
local: str = "local"
|
12
|
+
test: str = "preprod"
|
13
|
+
prod: str = "prod"
|
14
|
+
|
17
15
|
mode_type: str
|
18
16
|
|
19
17
|
@field_validator("mode_type")
|
20
18
|
@classmethod
|
21
19
|
def validate_mode_type(cls, v: str):
|
22
|
-
ModeTypes.parse_and_validate_values(v)
|
20
|
+
cls.ModeTypes.parse_and_validate_values(v)
|
23
21
|
return v
|
22
|
+
|
23
|
+
@property
|
24
|
+
def is_mode_type_local(self) -> bool:
|
25
|
+
return self.mode_type == self.ModeTypes.local
|
26
|
+
|
27
|
+
@property
|
28
|
+
def is_mode_type_test(self) -> bool:
|
29
|
+
return self.mode_type == self.ModeTypes.test
|
30
|
+
|
31
|
+
@property
|
32
|
+
def is_mode_type_prod(self) -> bool:
|
33
|
+
return self.mode_type == self.ModeTypes.prod
|
@@ -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=yOqH-Xmifw4niRtIy4EeP9xdeUA_0I-3ZrUrlE4cw_c,12508
|
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
|
@@ -35,7 +35,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
35
35
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
36
36
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
37
37
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
38
|
-
arpakitlib/ar_fastapi_util.py,sha256
|
38
|
+
arpakitlib/ar_fastapi_util.py,sha256=-2SHDfssQnJuDqgy98a38vmIP2A-UtBuuTvwSsyGPyI,21196
|
39
39
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
40
40
|
arpakitlib/ar_generate_env_example.py,sha256=R_pdbFZe-mIZxEps2dm-K9m8rAg1pAaMzFOBPTGe4s4,370
|
41
41
|
arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
|
@@ -55,7 +55,7 @@ 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=
|
58
|
+
arpakitlib/ar_settings_util.py,sha256=eomXBtK0ztokHr_LuiU4i2JunijzMyjyZbF1xdTb540,863
|
59
59
|
arpakitlib/ar_sleep_util.py,sha256=9ZN4Qo4eZ_q3hjM7vNBQjFRcH-9-sqv3QLSjnxVJE90,1405
|
60
60
|
arpakitlib/ar_sqlalchemy_model_util.py,sha256=ttdgOwQfoHTKqgivBtXoSbJoBCASHDjLEFK5tJ9kNNE,4779
|
61
61
|
arpakitlib/ar_sqlalchemy_util.py,sha256=3wejwPbH5VsTZAWvJQ4qQ8tda-PWBmqVThwRyKnyGqo,4153
|
@@ -64,8 +64,8 @@ arpakitlib/ar_str_util.py,sha256=xSEzmsDvRiZVaxyqFFjcgzpphktCbXg2FHcvsd1DYpA,188
|
|
64
64
|
arpakitlib/ar_type_util.py,sha256=I6jbTz7_dxR1lkhz1JfUb5ZyLLdXVhG_-hzjdgT6N6s,1932
|
65
65
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=5GMvu8paByni8buhc1vpHB7n6oXe0gPfj1LSvnyZCrQ,5307
|
66
66
|
arpakitlib/ar_zabbix_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
67
|
-
arpakitlib-1.6.
|
68
|
-
arpakitlib-1.6.
|
69
|
-
arpakitlib-1.6.
|
70
|
-
arpakitlib-1.6.
|
71
|
-
arpakitlib-1.6.
|
67
|
+
arpakitlib-1.6.44.dist-info/LICENSE,sha256=1jqWIkbnMxDfs_i0SXP5qbV6PHjBr1g8506oW7uPjfg,11347
|
68
|
+
arpakitlib-1.6.44.dist-info/METADATA,sha256=cEWrrtcv9RspYW37sq-h_7nsEpvJuHItpY0my6q9uyM,2320
|
69
|
+
arpakitlib-1.6.44.dist-info/NOTICE,sha256=wHwmiq3wExfFfgMsE5U5TOBP9_l72ocIG82KurEels0,43
|
70
|
+
arpakitlib-1.6.44.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
71
|
+
arpakitlib-1.6.44.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|