arpakitlib 1.6.43__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.
@@ -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"
@@ -322,6 +324,17 @@ class SimpleMiddleware(BaseMiddleware, ABC):
322
324
  self._logger = logging.getLogger(self.__class__.__name__)
323
325
 
324
326
 
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
+
325
338
  def create_aiogram_tg_bot(*, tg_bot_token: str, tg_bot_proxy_url: str | None = None) -> Bot:
326
339
  session: AiohttpSession | None = None
327
340
  if tg_bot_proxy_url:
@@ -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
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arpakitlib
3
- Version: 1.6.43
3
+ Version: 1.6.44
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -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=hyHa1Z-AxIZ9DtGWDxMcbWAyYu1ZmcXrCEmvSdvM8No,12075
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=KPYGcpW2ys0XXipK6yg0lBD1OGgtkbrclRWTLcL551A,20993
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=vVm2_e0WQ6TH_w7TZ5FIhSfsLg_Hkpd4l1HHPAF_FdU,539
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.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,,
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,,