arpakitlib 1.8.231__py3-none-any.whl → 1.8.233__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.
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "arpakitlib_project_template_version": "5",
3
- "arpakitlib_project_template_subversion": "58"
3
+ "arpakitlib_project_template_subversion": "59"
4
4
  }
@@ -74,7 +74,9 @@ def create_api_app(*, prefix: str = "/api") -> FastAPI:
74
74
 
75
75
  if get_cached_settings().api_enable_sqladmin:
76
76
  from project.sqladmin_.add_admin_in_app import add_sqladmin_in_app
77
- add_sqladmin_in_app(app=api_app, favicon_url="/static/openapi-favicon.png")
77
+ add_sqladmin_in_app(
78
+ base_url=get_cached_settings().sqladmin_prefix, app=api_app, favicon_url="/static/openapi-favicon.png"
79
+ )
78
80
 
79
81
  _logger.info("finish")
80
82
 
@@ -1,7 +1,10 @@
1
+ import os
2
+
1
3
  import fastapi
4
+ from arpakitlib.ar_datetime_util import now_utc_dt
5
+ from arpakitlib.ar_logging_util import init_log_file
2
6
  from fastapi import APIRouter
3
7
 
4
- from arpakitlib.ar_logging_util import init_log_file
5
8
  from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
6
9
  require_user_token_dbm_api_authorize_middleware, api_authorize
7
10
  from project.core.settings import get_cached_settings
@@ -12,8 +15,9 @@ api_router = APIRouter()
12
15
 
13
16
  @api_router.get(
14
17
  path="",
15
- name="Get log file",
18
+ name=os.path.splitext(os.path.basename(__file__))[0].title(),
16
19
  status_code=fastapi.status.HTTP_200_OK,
20
+ response_class=fastapi.responses.FileResponse
17
21
  )
18
22
  async def _(
19
23
  *,
@@ -30,4 +34,8 @@ async def _(
30
34
  ]))
31
35
  ):
32
36
  init_log_file(log_filepath=get_cached_settings().log_filepath)
33
- return fastapi.responses.FileResponse(path=get_cached_settings().log_filepath)
37
+ return fastapi.responses.FileResponse(
38
+ path=get_cached_settings().log_filepath,
39
+ media_type="text/plain",
40
+ filename=f"story_{now_utc_dt().strftime('%d.%m.%Y_%H:%M_%Z%z')}.log"
41
+ )
@@ -153,6 +153,12 @@ class Settings(SimpleSettings):
153
153
 
154
154
  sqladmin_port: int | None = 8081
155
155
 
156
+ sqladmin_prefix: str | None = "/sqladmin"
157
+
158
+ sqladmin_full_url: str = f"http://{api_host}:{api_port}"
159
+
160
+ sqladmin_full_url_with_prefix: str = sqladmin_full_url + sqladmin_prefix
161
+
156
162
  tg_bot_token: str | None = None
157
163
 
158
164
  tg_bot_proxy_url: str | None = None
@@ -1,3 +1,4 @@
1
+ from project.core.settings import get_cached_settings
1
2
  from project.sqladmin_.create_sqladmin_app import create_sqladmin_app
2
3
 
3
- app = create_sqladmin_app()
4
+ app = create_sqladmin_app(base_url=get_cached_settings().sqladmin_prefix)
@@ -11,7 +11,7 @@ from project.sqladmin_.event import get_sqladmin_startup_events, get_sqladmin_sh
11
11
  _logger = logging.getLogger(__name__)
12
12
 
13
13
 
14
- def create_sqladmin_app(*, prefix: str = "/sqladmin") -> FastAPI:
14
+ def create_sqladmin_app(*, base_url: str = "/sqladmin") -> FastAPI:
15
15
  setup_logging()
16
16
 
17
17
  _logger.info("start")
@@ -41,7 +41,7 @@ def create_sqladmin_app(*, prefix: str = "/sqladmin") -> FastAPI:
41
41
 
42
42
  add_sqladmin_in_app(
43
43
  app=sqladmin_app,
44
- base_url=prefix
44
+ base_url=base_url
45
45
  )
46
46
 
47
47
  _logger.info("finish")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.231
3
+ Version: 1.8.233
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -8,7 +8,7 @@ arpakitlib/_arpakit_project_template_v_5/alembic/env.py,sha256=Qesmnj5A2kB-Doeuf
8
8
  arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
9
9
  arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  arpakitlib/_arpakit_project_template_v_5/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
11
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=tYsY8U4lzAXkijKJu4wwZUROFtOIeG4P3ToozX06MKc,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=dN2oKmHuIXZOFL1sBNYTX1n2YqT7tqoPZWGtuxXs1zg,98
12
12
  arpakitlib/_arpakit_project_template_v_5/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh,sha256=OMnDNtHIksGh9iavWnzbtxcudZW4vjdcISsBXvzZSPw,22
14
14
  arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh,sha256=yW2i-SBOtBx15Ya0poVQqKkJM5t2JZp06r9AEW-DmGE,46
@@ -89,7 +89,7 @@ arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py,sha256=47
89
89
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py,sha256=ii1zLHjvB7OVLQKFOhp4lpodXcwAmtwDdrM1iaafQfg,100
90
90
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py,sha256=rvJKtAB26Qy2pKVSHSMUM_70oI4v8Yr6Vmpr6r4EzNk,101
91
91
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py,sha256=ug1FylE_CVC5eij-u4nh-IHNO-gwkbBGo5KgyWDujC8,91
92
- arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=rY9rI-_mbx8mu1-Q-MRVbw5Cmrv5qtHCJznFs1gBiNQ,3006
92
+ arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=-xJLrNuiUC8K-L2Q_1YbQzi_2bquW3HgVx7Ye2haHNk,3076
93
93
  arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py,sha256=BgqmD-7gXQ_zoz3ATqVacQzkg9lbvKnCSvQxm0M0Vxw,1824
94
94
  arpakitlib/_arpakit_project_template_v_5/project/api/event.py,sha256=P8gV2Bq6LeLH0JDN9Z3O401PMbyNr2n-tme2gPvT-m4,996
95
95
  arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=BSCYbdHYBldXmbdRxW14tIA47vttRXVlBGw7wMur8us,1425
@@ -106,7 +106,7 @@ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file
106
106
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py,sha256=aZFZzJM36knQIf2I2jCOjqzQ6nn70WgcPv88V18u8Ho,2358
107
107
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py,sha256=c4HAHSivR8viAlHVyTut4VaKNkYsYiabE833FsUl9Yk,1265
108
108
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py,sha256=Hpjkucwnb2LtytWpMMA2WMROY2cTLn0q_tnUFijk0so,1195
109
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py,sha256=rzEPco45I-4FzrlbI3z5B-smhrHFIVIsDiHtTULoE4g,1162
109
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py,sha256=bzkmLC2VPNY1JBFTYbbvjOS96FUwelj6FBt8LTukddI,1440
110
110
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py,sha256=cOG0c2s6grwvlN4xxXNyRVY28yI9u1xOryRt0fNHcko,2040
111
111
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py,sha256=eN-1XHeeSkgSTmYLldV-8uAY8qEmdUVCfvY2A5IHtw0,1096
112
112
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py,sha256=R5d3lZCHQNadPzG77WbJbLFQwTwPFU3l7BLYUlIOA6c,1090
@@ -186,7 +186,7 @@ arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.p
186
186
  arpakitlib/_arpakit_project_template_v_5/project/core/easy_openai_api_client.py,sha256=ssQ8Ju6CBQeXSOa_lfLaqycSf0a-NIj6ucOhEsPseVc,1141
187
187
  arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py,sha256=jCNLaBauGC7YNvZdTLNHuPp7hmRGt94O23Skg6ewo7o,352
188
188
  arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py,sha256=fMofTsfJtA8pp5lEUhucEUu3PBsmj-elaRZzExDsdLI,623
189
- arpakitlib/_arpakit_project_template_v_5/project/core/settings.py,sha256=-pxFzibJiQiOq9wId4UCfFa8T84J3PwioZBcYANKyf0,6915
189
+ arpakitlib/_arpakit_project_template_v_5/project/core/settings.py,sha256=-1iKNOUQrHohahxoPl_V7e7Q53T_Sl1LTdu_EsBx9MU,7102
190
190
  arpakitlib/_arpakit_project_template_v_5/project/core/setup_logging.py,sha256=7VRejVMUNeR-MywrVw7B1RxVkIBHwVNQJFC4wlpBJco,1497
191
191
  arpakitlib/_arpakit_project_template_v_5/project/core/util.py,sha256=iCwpuRqr6TfW0sKVH-3asQjhueJuad3ffq6sPI6ZUrs,347
192
192
  arpakitlib/_arpakit_project_template_v_5/project/emailer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -249,8 +249,8 @@ arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py,sha2
249
249
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
250
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py,sha256=JTXLf18DQVsZtoe6yFpZIVJI95rgJofnTe9YKyVwwhQ,851
251
251
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py,sha256=eIJ-oG8-piqSsnEPN3aJT_U5XOnxL7ZW3BCbLfVKS-E,5349
252
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPkcOGXOccfP73oKEXolZTsc5VWdQgEG-qoW03ms,99
253
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=JGCHgqJJvAjpc8xnbXPqCeUiLeKO7eo6OA6uPYzzqlk,1308
252
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=kkzOo8xQ5NZCKVQYeaVXzYIhAXRLUrQVFToqEJWvQEc,199
253
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=GdNfgOEKSyBSQqyym0f7OuWqcTvI1MGcpUXPrQbt2bc,1312
254
254
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=LjAUYNlsX9Sj_QLMzYuTQbbYYbIMHhbsSjTXt-G7lOE,849
255
255
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=upngi5hsrv6f5M-_R0r_DfERl8jzTnZ6VOum71xiGcY,595
256
256
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=AfWtDIf0Z7GVEsnGw921u3VbkxhFIffR8u8MfspldSs,750
@@ -422,8 +422,8 @@ arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrI
422
422
  arpakitlib/clone_pydantic_model_fields.py,sha256=xxLwtvJzDf8EWMvBE4psWIj8c-cyeCxLRX76oCY_4zk,1214
423
423
  arpakitlib/pydantic_schema_from_sqlalchemy_model.py,sha256=_5Y79kQ4lLIOL6_afIFVwxY1EXzTMpi-veRR-WkPFOs,2879
424
424
  arpakitlib/raise_own_exception_if_exception.py,sha256=WCgrT0rwNMEAE__44TQaY4UXzRBKt-aJbMoOvTMGJVc,5541
425
- arpakitlib-1.8.231.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
426
- arpakitlib-1.8.231.dist-info/METADATA,sha256=75vxEXlio2WxvoHjIJMlomtsNuet-YtQHxftOmbTh4w,3741
427
- arpakitlib-1.8.231.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
428
- arpakitlib-1.8.231.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
429
- arpakitlib-1.8.231.dist-info/RECORD,,
425
+ arpakitlib-1.8.233.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
426
+ arpakitlib-1.8.233.dist-info/METADATA,sha256=_ZMgg9kzeeDfp2zAG7oVB-_LgxGKr84BVnIKkeEQGkw,3741
427
+ arpakitlib-1.8.233.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
428
+ arpakitlib-1.8.233.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
429
+ arpakitlib-1.8.233.dist-info/RECORD,,