arpakitlib 1.7.72__py3-none-any.whl → 1.7.73__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_fastapi_util.py +16 -4
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/METADATA +1 -1
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/RECORD +7 -7
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/LICENSE +0 -0
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/NOTICE +0 -0
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/WHEEL +0 -0
- {arpakitlib-1.7.72.dist-info → arpakitlib-1.7.73.dist-info}/entry_points.txt +0 -0
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -25,7 +25,7 @@ from starlette import status
|
|
25
25
|
from starlette.middleware.cors import CORSMiddleware
|
26
26
|
from starlette.staticfiles import StaticFiles
|
27
27
|
|
28
|
-
from arpakitlib.ar_base_worker_util import BaseWorker
|
28
|
+
from arpakitlib.ar_base_worker_util import BaseWorker, safe_run_worker_in_background, SafeRunInBackgroundModes
|
29
29
|
from arpakitlib.ar_dict_util import combine_dicts
|
30
30
|
from arpakitlib.ar_enumeration_util import Enumeration
|
31
31
|
from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
|
@@ -110,11 +110,23 @@ class OperationSO(SimpleSO):
|
|
110
110
|
|
111
111
|
|
112
112
|
class APIJSONResponse(fastapi.responses.JSONResponse):
|
113
|
-
def __init__(self, *, content: BaseSO, status_code: int = starlette.status.HTTP_200_OK):
|
113
|
+
def __init__(self, *, content: dict | list | BaseSO | None, status_code: int = starlette.status.HTTP_200_OK):
|
114
|
+
if isinstance(content, dict):
|
115
|
+
content = safely_transfer_to_json_str_to_json_obj(content)
|
116
|
+
elif isinstance(content, list):
|
117
|
+
content = safely_transfer_to_json_str_to_json_obj(content)
|
118
|
+
elif isinstance(content, BaseSO):
|
119
|
+
content = safely_transfer_to_json_str_to_json_obj(content.model_dump())
|
120
|
+
elif content is None:
|
121
|
+
content = None
|
122
|
+
else:
|
123
|
+
raise ValueError(f"unknown content type, type(content)={type(content)}")
|
124
|
+
|
114
125
|
self.content_ = content
|
115
126
|
self.status_code_ = status_code
|
127
|
+
|
116
128
|
super().__init__(
|
117
|
-
content=
|
129
|
+
content=content,
|
118
130
|
status_code=status_code
|
119
131
|
)
|
120
132
|
|
@@ -427,7 +439,7 @@ class SafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
|
|
427
439
|
|
428
440
|
async def async_on_startup(self, *args, **kwargs):
|
429
441
|
for worker in self.workers:
|
430
|
-
_ = worker
|
442
|
+
_ = safe_run_worker_in_background(worker=worker, mode=SafeRunInBackgroundModes.async_task)
|
431
443
|
|
432
444
|
|
433
445
|
class InitFileStoragesInDir(BaseStartupAPIEvent):
|
@@ -148,7 +148,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
148
148
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
149
149
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
150
150
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
151
|
-
arpakitlib/ar_fastapi_util.py,sha256=
|
151
|
+
arpakitlib/ar_fastapi_util.py,sha256=UstW6ivH_sRXyREnl8OsImqOmFggmDH4MYMl0YGMc7Q,25349
|
152
152
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
153
153
|
arpakitlib/ar_file_util.py,sha256=GUdJYm1tUZnYpY-SIPRHAZBHGra8NKy1eYEI0D5AfhY,489
|
154
154
|
arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
|
@@ -177,9 +177,9 @@ arpakitlib/ar_str_util.py,sha256=tFoGSDYoGpfdVHWor5Li9pEOFmDFlHkX-Z8iOy1LK7Y,353
|
|
177
177
|
arpakitlib/ar_type_util.py,sha256=46ZMuWls3uN0Re5T0sfEAmyNUDnxn9yvj6dHivSDZKs,3915
|
178
178
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=sh4fcUkAkdOetFn9JYoTvjcSXP-M1wU04KEY-ECLfLg,5137
|
179
179
|
arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
180
|
-
arpakitlib-1.7.
|
181
|
-
arpakitlib-1.7.
|
182
|
-
arpakitlib-1.7.
|
183
|
-
arpakitlib-1.7.
|
184
|
-
arpakitlib-1.7.
|
185
|
-
arpakitlib-1.7.
|
180
|
+
arpakitlib-1.7.73.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
181
|
+
arpakitlib-1.7.73.dist-info/METADATA,sha256=UZrOUY7CneX39dLf-oXrO3md1TeMvDTHJuqRM4w1e2I,2824
|
182
|
+
arpakitlib-1.7.73.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
183
|
+
arpakitlib-1.7.73.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
184
|
+
arpakitlib-1.7.73.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
185
|
+
arpakitlib-1.7.73.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|