arpakitlib 1.8.0__py3-none-any.whl → 1.8.2__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.
Files changed (219) hide show
  1. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/auth.py +17 -26
  2. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/create_api_app.py +22 -23
  3. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/event.py +20 -15
  4. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/exception.py +1 -2
  5. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/exception_handler.py +47 -36
  6. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/response.py +7 -3
  7. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/main_router.py +1 -1
  8. arpakitlib/_arpakit_project_template_v_1/api/router/v1/arpakit_project_template.py +22 -0
  9. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/v1/check_auth.py +7 -7
  10. arpakitlib/_arpakit_project_template_v_1/api/router/v1/clear_log_file.py +25 -0
  11. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/v1/get_errors_info.py +2 -2
  12. arpakitlib/_arpakit_project_template_v_1/api/router/v1/get_log_file.py +23 -0
  13. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/v1/healthcheck.py +2 -2
  14. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/v1/main_router.py +16 -3
  15. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/router/v1/now_utc_datetime.py +2 -2
  16. arpakitlib/_arpakit_project_template_v_1/api/router/v1/raise_fake_error.py +35 -0
  17. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/schema/v1/out.py +0 -6
  18. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/drop_json_db.py +2 -2
  19. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/init_json_db.py +2 -2
  20. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/reinit_json_db.py +2 -2
  21. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/rm_all_records_in_json_db.py +2 -2
  22. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/cache_file_storage_in_dir.py +4 -2
  23. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/const.py +5 -6
  24. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/dump_file_storage_in_dir.py +4 -2
  25. arpakitlib/_arpakit_project_template_v_1/core/jinja2_templates.py +14 -0
  26. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/media_file_storage_in_dir.py +4 -2
  27. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/settings.py +7 -5
  28. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/example.env +3 -2
  29. arpakitlib/_arpakit_project_template_v_1/json_db/json_db.py +28 -0
  30. arpakitlib/_arpakit_project_template_v_1/resource/static/healthcheck +1 -0
  31. arpakitlib/_arpakit_project_template_v_1/site/router/main_router.py +3 -0
  32. arpakitlib/_arpakit_project_template_v_1/sqladmin_/add_admin_in_app.py +24 -0
  33. arpakitlib/_arpakit_project_template_v_1/sqladmin_/admin_auth.py +54 -0
  34. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sqlalchemy_db/sqlalchemy_db.py +5 -2
  35. arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_/common.py +0 -0
  36. arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_/__init__.py +0 -0
  37. arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_/common.py +0 -0
  38. arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware/__init__.py +0 -0
  39. arpakitlib/_arpakit_project_template_v_1/tg_bot/router/__init__.py +0 -0
  40. arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/transmitted_tg_data.py +2 -2
  41. arpakitlib/_arpakit_project_template_v_1/tg_bot/util.py +0 -0
  42. arpakitlib/_arpakit_project_template_v_1/util/__init__.py +0 -0
  43. arpakitlib/ar_arpakit_project_template_util.py +3 -1
  44. arpakitlib/ar_arpakitlib_cli_util.py +0 -3
  45. {arpakitlib-1.8.0.dist-info → arpakitlib-1.8.2.dist-info}/METADATA +1 -1
  46. arpakitlib-1.8.2.dist-info/RECORD +261 -0
  47. arpakitlib/_arpakit_project_template_v1/admin1/add_admin_in_app.py +0 -26
  48. arpakitlib/_arpakit_project_template_v1/admin1/admin_auth.py +0 -25
  49. arpakitlib/_arpakit_project_template_v1/api/router/v1/arpakitlib_.py +0 -27
  50. arpakitlib/_arpakit_project_template_v1/api/router/v1/raise_fake_error.py +0 -21
  51. arpakitlib/_arpakit_project_template_v1/api/transmitted_api_data.py +0 -66
  52. arpakitlib/_arpakit_project_template_v1/json_db/json_db.py +0 -11
  53. arpakitlib/_arpakit_project_template_v1/json_db/util.py +0 -17
  54. arpakitlib-1.8.0.dist-info/RECORD +0 -251
  55. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/.gitignore +0 -0
  56. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/.python-version +0 -0
  57. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/LICENSE +0 -0
  58. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/README.md +0 -0
  59. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/additional_model/__init__.py +0 -0
  60. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/additional_model/additional_model.py +0 -0
  61. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/alembic/README +0 -0
  62. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/alembic/env.py +0 -0
  63. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/alembic/script.py.mako +0 -0
  64. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/alembic.ini +0 -0
  65. /arpakitlib/{_arpakit_project_template_v1/admin1 → _arpakit_project_template_v_1/api}/__init__.py +0 -0
  66. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/asgi.py +0 -0
  67. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/const.py +0 -0
  68. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/openapi_ui.py +0 -0
  69. /arpakitlib/{_arpakit_project_template_v1/api → _arpakit_project_template_v_1/api/router}/__init__.py +0 -0
  70. /arpakitlib/{_arpakit_project_template_v1/api/router → _arpakit_project_template_v_1/api/router/v1}/__init__.py +0 -0
  71. /arpakitlib/{_arpakit_project_template_v1/api/router/v1 → _arpakit_project_template_v_1/api/schema}/__init__.py +0 -0
  72. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/schema/base_schema.py +0 -0
  73. /arpakitlib/{_arpakit_project_template_v1/api/schema → _arpakit_project_template_v_1/api/schema/common}/__init__.py +0 -0
  74. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/schema/common/in_.py +0 -0
  75. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/schema/common/out.py +0 -0
  76. /arpakitlib/{_arpakit_project_template_v1/api/schema/common → _arpakit_project_template_v_1/api/schema/v1}/__init__.py +0 -0
  77. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/schema/v1/in_.py +0 -0
  78. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/api/util.py +0 -0
  79. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/arpakitlib_project_template.json +0 -0
  80. /arpakitlib/{_arpakit_project_template_v1/api/schema/v1 → _arpakit_project_template_v_1/business_service}/__init__.py +0 -0
  81. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/business_service/hello_world.py +0 -0
  82. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/business_service/remove_operations.py +0 -0
  83. /arpakitlib/{_arpakit_project_template_v1/business_service → _arpakit_project_template_v_1/celery_}/__init__.py +0 -0
  84. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/__init__.py +0 -0
  85. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/alembic_history.sh +0 -0
  86. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/alembic_revision_autogenerate.sh +0 -0
  87. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/alembic_upgrade_head .sh +0 -0
  88. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/beautify_json.py +0 -0
  89. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/check_logging.py +0 -0
  90. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/check_sqlalchemy_db.py +0 -0
  91. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/docker_ps_a.sh +0 -0
  92. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/docker_rm_postgres.sh +0 -0
  93. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/docker_run_postgres.sh +0 -0
  94. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/docker_start_postgres.sh +0 -0
  95. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/docker_stop_postgres.sh +0 -0
  96. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/drop_sqlalchemy_db.py +0 -0
  97. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/generate_settings_env_example.py +0 -0
  98. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_commit.sh +0 -0
  99. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_push_arpakit_company_github_1.sh +0 -0
  100. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_push_arpakit_company_gitlab_1.sh +0 -0
  101. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_push_arpakit_github_1.sh +0 -0
  102. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_push_arpakit_gitlab_1.sh +0 -0
  103. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_remote.sh +0 -0
  104. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_set_arpakit_company_origin.sh +0 -0
  105. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_set_arpakit_origin.sh +0 -0
  106. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/git_status.sh +0 -0
  107. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/hello_world.py +0 -0
  108. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/init_sqlalchemy_db.py +0 -0
  109. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_check.sh +0 -0
  110. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_clear_cache.sh +0 -0
  111. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_config.sh +0 -0
  112. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_install.sh +0 -0
  113. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_lock.sh +0 -0
  114. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_remove_and_add_arpakitlib.sh +0 -0
  115. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_show.sh +0 -0
  116. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_show_arpakitlib.sh +0 -0
  117. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_update.sh +0 -0
  118. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/poetry_update_arpakitlib.sh +0 -0
  119. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/reinit_sqlalchemy_db.py +0 -0
  120. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/remove_operations.py +0 -0
  121. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/remove_story_logs.py +0 -0
  122. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/show_settings.py +0 -0
  123. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_api_with_reload.py +0 -0
  124. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_api_without_reload.py +0 -0
  125. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_async_operation_executor_worker.py +0 -0
  126. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_async_scheduled_operation_creator_worker.py +0 -0
  127. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_sync_operation_executor_worker.py +0 -0
  128. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_sync_operation_executor_workers.py +0 -0
  129. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/command/start_sync_scheduled_operation_creator_worker.py +0 -0
  130. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/__init__.py +0 -0
  131. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/core/util.py +0 -0
  132. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/json_db/__init__.py +0 -0
  133. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/__init__.py +0 -0
  134. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/note_1.txt +0 -0
  135. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/note_2.txt +0 -0
  136. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/note_3.txt +0 -0
  137. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/note_4.txt +0 -0
  138. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/note/note_5.txt +0 -0
  139. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/__init__.py +0 -0
  140. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/const.py +0 -0
  141. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/operation_executor_worker.py +0 -0
  142. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/scheduled_operation_creator_worker.py +0 -0
  143. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/scheduled_operations.py +0 -0
  144. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/operation_execution/util.py +0 -0
  145. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/__init__.py +0 -0
  146. /arpakitlib/{_arpakit_project_template_v1/resource/static/healthcheck → _arpakit_project_template_v_1/resource/static/1} +0 -0
  147. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/helloworld +0 -0
  148. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/openapi-favicon.png +0 -0
  149. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/redoc/redoc.standalone.js +0 -0
  150. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/favicon-16x16.png +0 -0
  151. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/favicon-32x32.png +0 -0
  152. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/index.css +0 -0
  153. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/index.html +0 -0
  154. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/oauth2-redirect.html +0 -0
  155. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-initializer.js +0 -0
  156. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
  157. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  158. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  159. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  160. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  161. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  162. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  163. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  164. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui.css +0 -0
  165. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui.css.map +0 -0
  166. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui.js +0 -0
  167. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/resource/static/swagger-ui/swagger-ui.js.map +0 -0
  168. /arpakitlib/{_arpakit_project_template_v1/resource/static → _arpakit_project_template_v_1/sandbox}/__init__.py +0 -0
  169. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_1.py +0 -0
  170. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_2.py +0 -0
  171. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_3.py +0 -0
  172. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_4.py +0 -0
  173. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_5.py +0 -0
  174. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_6.py +0 -0
  175. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sandbox/sandbox_7.py +0 -0
  176. /arpakitlib/{_arpakit_project_template_v1/sandbox → _arpakit_project_template_v_1/site}/__init__.py +0 -0
  177. /arpakitlib/{_arpakit_project_template_v1/sqlalchemy_db/__init__.py → _arpakit_project_template_v_1/site/asgi.py} +0 -0
  178. /arpakitlib/{_arpakit_project_template_v1/test_data/__init__.py → _arpakit_project_template_v_1/site/consts.py} +0 -0
  179. /arpakitlib/{_arpakit_project_template_v1/tg_bot/__init__.py → _arpakit_project_template_v_1/site/create_site_app.py} +0 -0
  180. /arpakitlib/{_arpakit_project_template_v1/tg_bot/blank/__init__.py → _arpakit_project_template_v_1/site/event.py} +0 -0
  181. /arpakitlib/{_arpakit_project_template_v1/tg_bot/filter/__init__.py → _arpakit_project_template_v_1/site/exception_handler.py} +0 -0
  182. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb → _arpakit_project_template_v_1/site/router}/__init__.py +0 -0
  183. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb/inline_ → _arpakit_project_template_v_1/sqladmin_}/__init__.py +0 -0
  184. /arpakitlib/{_arpakit_project_template_v1/admin1 → _arpakit_project_template_v_1/sqladmin_}/model_view.py +0 -0
  185. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb/static_ → _arpakit_project_template_v_1/sqlalchemy_db}/__init__.py +0 -0
  186. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sqlalchemy_db/const.py +0 -0
  187. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sqlalchemy_db/sqlalchemy_model.py +0 -0
  188. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/sqlalchemy_db/util.py +0 -0
  189. /arpakitlib/{_arpakit_project_template_v1/tg_bot/middleware → _arpakit_project_template_v_1/test_data}/__init__.py +0 -0
  190. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/test_data/make_test_data_1.py +0 -0
  191. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/test_data/make_test_data_2.py +0 -0
  192. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/test_data/make_test_data_3.py +0 -0
  193. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/test_data/make_test_data_4.py +0 -0
  194. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/test_data/make_test_data_5.py +0 -0
  195. /arpakitlib/{_arpakit_project_template_v1/tg_bot/router → _arpakit_project_template_v_1/tg_bot}/__init__.py +0 -0
  196. /arpakitlib/{_arpakit_project_template_v1/util → _arpakit_project_template_v_1/tg_bot/blank}/__init__.py +0 -0
  197. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/blank/blank.py +0 -0
  198. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/blank/util.py +0 -0
  199. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/const.py +0 -0
  200. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/event.py +0 -0
  201. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb/inline_/callback.py → _arpakit_project_template_v_1/tg_bot/filter/__init__.py} +0 -0
  202. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/filter/not_prod_mode.py +0 -0
  203. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/filter/prod_mode.py +0 -0
  204. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb/inline_/common.py → _arpakit_project_template_v_1/tg_bot/kb/__init__.py} +0 -0
  205. /arpakitlib/{_arpakit_project_template_v1/tg_bot/kb/static_/common.py → _arpakit_project_template_v_1/tg_bot/kb/inline_/__init__.py} +0 -0
  206. /arpakitlib/{_arpakit_project_template_v1/tg_bot/util.py → _arpakit_project_template_v_1/tg_bot/kb/inline_/callback.py} +0 -0
  207. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/middleware/init_user.py +0 -0
  208. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/middleware/middleware.py +0 -0
  209. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/router/arpakitlib_.py +0 -0
  210. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/router/error.py +0 -0
  211. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/router/healthcheck.py +0 -0
  212. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/router/main_router.py +0 -0
  213. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/start_tg_bot.py +0 -0
  214. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/tg_bot.py +0 -0
  215. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/tg_bot/tg_bot_dispatcher.py +0 -0
  216. /arpakitlib/{_arpakit_project_template_v1 → _arpakit_project_template_v_1}/util/read_arpakitlib_project_template_file.py +0 -0
  217. {arpakitlib-1.8.0.dist-info → arpakitlib-1.8.2.dist-info}/LICENSE +0 -0
  218. {arpakitlib-1.8.0.dist-info → arpakitlib-1.8.2.dist-info}/WHEEL +0 -0
  219. {arpakitlib-1.8.0.dist-info → arpakitlib-1.8.2.dist-info}/entry_points.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  from fastapi import APIRouter
2
2
 
3
- from api.router.v1 import healthcheck, get_errors_info, now_utc_datetime
4
- from api.router.v1 import raise_fake_error, check_auth, arpakitlib_
3
+ from api.router.v1 import healthcheck, get_errors_info, now_utc_datetime, clear_log_file, get_log_file
4
+ from api.router.v1 import raise_fake_error, check_auth
5
5
 
6
6
  main_v1_api_router = APIRouter()
7
7
 
@@ -45,10 +45,23 @@ main_v1_api_router.include_router(
45
45
  tags=["Fake error"]
46
46
  )
47
47
 
48
- # Healthcheck
48
+ # Now UTC Datetime
49
49
 
50
50
  main_v1_api_router.include_router(
51
51
  router=now_utc_datetime.api_router,
52
52
  prefix="/now_utc_datetime",
53
53
  tags=["Now UTC datetime"]
54
54
  )
55
+
56
+ # Log file
57
+
58
+ main_v1_api_router.include_router(
59
+ router=clear_log_file.api_router,
60
+ prefix="/clear_log_file",
61
+ tags=["Log file"]
62
+ )
63
+ main_v1_api_router.include_router(
64
+ router=get_log_file.api_router,
65
+ prefix="/get_log_file",
66
+ tags=["Log file"]
67
+ )
@@ -1,5 +1,4 @@
1
1
  import fastapi
2
- import starlette.status
3
2
  from fastapi import APIRouter
4
3
 
5
4
  from api.schema.common.out import ErrorCommonSO, DatetimeCommonSO
@@ -10,8 +9,9 @@ api_router = APIRouter()
10
9
 
11
10
  @api_router.get(
12
11
  "",
12
+ name="Now UTC datetime",
13
+ status_code=fastapi.status.HTTP_200_OK,
13
14
  response_model=DatetimeCommonSO | ErrorCommonSO,
14
- status_code=starlette.status.HTTP_200_OK
15
15
  )
16
16
  async def _(
17
17
  *,
@@ -0,0 +1,35 @@
1
+ import fastapi
2
+ import starlette.exceptions
3
+ from fastapi import APIRouter
4
+
5
+ from api.schema.common.out import ErrorCommonSO
6
+
7
+ api_router = APIRouter()
8
+
9
+
10
+ @api_router.get(
11
+ "",
12
+ name="Raise fake error",
13
+ response_model=ErrorCommonSO,
14
+ status_code=fastapi.status.HTTP_500_INTERNAL_SERVER_ERROR
15
+ )
16
+ async def _(
17
+ *,
18
+ request: fastapi.requests.Request,
19
+ response: fastapi.responses.Response,
20
+ n: int | None = None
21
+ ):
22
+ if n == 1:
23
+ raise fastapi.HTTPException(
24
+ detail={"n": n},
25
+ status_code=fastapi.status.HTTP_500_INTERNAL_SERVER_ERROR
26
+ )
27
+ elif n == 2:
28
+ raise starlette.exceptions.HTTPException(
29
+ detail=f"fake_error, n={n}",
30
+ status_code=fastapi.status.HTTP_500_INTERNAL_SERVER_ERROR
31
+ )
32
+ elif n == 3:
33
+ raise ValueError(f"fake error n={n}")
34
+ else:
35
+ raise Exception(f"fake error, n={n}")
@@ -15,12 +15,6 @@ class HealthcheckV1SO(BaseV1SO):
15
15
  is_ok: bool = True
16
16
 
17
17
 
18
- class ARPAKITLIBInfoV1SO(BaseV1SO):
19
- arpakitlib: bool = True
20
- arpakitlib_project_template_version: str
21
- data: dict[str, Any] = {}
22
-
23
-
24
18
  class _SimpleDBMV1SO(BaseV1SO):
25
19
  id: int
26
20
  long_id: str
@@ -1,12 +1,12 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from json_db.util import get_json_db
3
+ from json_db.json_db import get_cached_json_db
4
4
 
5
5
 
6
6
  def __command():
7
7
  setup_logging()
8
8
  get_cached_settings().raise_if_mode_type_prod()
9
- get_json_db().drop()
9
+ get_cached_json_db().drop()
10
10
 
11
11
 
12
12
  if __name__ == '__main__':
@@ -1,10 +1,10 @@
1
1
  from core.util import setup_logging
2
- from json_db.util import get_json_db
2
+ from json_db.json_db import get_cached_json_db
3
3
 
4
4
 
5
5
  def __command():
6
6
  setup_logging()
7
- get_json_db().init()
7
+ get_cached_json_db().init()
8
8
 
9
9
 
10
10
  if __name__ == '__main__':
@@ -1,12 +1,12 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from json_db.util import get_json_db
3
+ from json_db.json_db import get_cached_json_db
4
4
 
5
5
 
6
6
  def __command():
7
7
  setup_logging()
8
8
  get_cached_settings().raise_if_mode_type_prod()
9
- get_json_db().reinit()
9
+ get_cached_json_db().reinit()
10
10
 
11
11
 
12
12
  if __name__ == '__main__':
@@ -1,12 +1,12 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from json_db.util import get_json_db
3
+ from json_db.json_db import get_cached_json_db
4
4
 
5
5
 
6
6
  def __command():
7
7
  setup_logging()
8
8
  get_cached_settings().raise_if_mode_type_prod()
9
- get_json_db().rm_all_records()
9
+ get_cached_json_db().rm_all_records()
10
10
 
11
11
 
12
12
  if __name__ == '__main__':
@@ -4,12 +4,14 @@ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
4
  from core.settings import get_cached_settings
5
5
 
6
6
 
7
- def create_cache_file_storage_in_dir() -> FileStorageInDir:
7
+ def create_cache_file_storage_in_dir() -> FileStorageInDir | None:
8
+ if get_cached_settings().cache_dirpath is None:
9
+ return None
8
10
  return FileStorageInDir(dirpath=get_cached_settings().cache_dirpath)
9
11
 
10
12
 
11
13
  @lru_cache()
12
- def get_cached_cache_file_storage_in_dir() -> FileStorageInDir:
14
+ def get_cached_cache_file_storage_in_dir() -> FileStorageInDir | None:
13
15
  return create_cache_file_storage_in_dir()
14
16
 
15
17
 
@@ -9,14 +9,13 @@ from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
9
9
  class ProjectPaths(Enumeration):
10
10
  base_dirpath: str = str(pathlib.Path(__file__).parent.parent)
11
11
 
12
- env_filename: str = ".env"
13
- env_filepath: str = os.path.join(base_dirpath, env_filename)
12
+ env_filepath: str = os.path.join(base_dirpath, ".env")
14
13
 
15
- resource_dirname: str = "resource"
16
- resource_dirpath: str = os.path.join(base_dirpath, resource_dirname)
14
+ resource_dirpath: str = os.path.join(base_dirpath, "resource")
17
15
 
18
- static_dirname: str = "static"
19
- static_dirpath: str = os.path.join(resource_dirpath, static_dirname)
16
+ static_dirpath: str = os.path.join(resource_dirpath, "static")
17
+
18
+ templates_dirpath: str = os.path.join(resource_dirpath, "templates")
20
19
 
21
20
  arpakit_lib_project_template_filepath: str = os.path.join(base_dirpath, "arpakitlib_project_template.json")
22
21
 
@@ -4,12 +4,14 @@ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
4
  from core.settings import get_cached_settings
5
5
 
6
6
 
7
- def create_dump_file_storage_in_dir() -> FileStorageInDir:
7
+ def create_dump_file_storage_in_dir() -> FileStorageInDir | None:
8
+ if get_cached_settings().dump_dirpath is None:
9
+ return None
8
10
  return FileStorageInDir(dirpath=get_cached_settings().dump_dirpath)
9
11
 
10
12
 
11
13
  @lru_cache()
12
- def get_cached_dump_file_storage_in_dir() -> FileStorageInDir:
14
+ def get_cached_dump_file_storage_in_dir() -> FileStorageInDir | None:
13
15
  return create_dump_file_storage_in_dir()
14
16
 
15
17
 
@@ -0,0 +1,14 @@
1
+ from functools import lru_cache
2
+
3
+ from fastapi.templating import Jinja2Templates
4
+
5
+ from core.const import ProjectPaths
6
+
7
+
8
+ def create_jinja2_templates() -> Jinja2Templates:
9
+ return Jinja2Templates(directory=ProjectPaths.templates_dirpath)
10
+
11
+
12
+ @lru_cache()
13
+ def get_cached_jinja2_templates() -> Jinja2Templates:
14
+ return create_jinja2_templates()
@@ -4,12 +4,14 @@ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
4
  from core.settings import get_cached_settings
5
5
 
6
6
 
7
- def create_media_file_storage_in_dir() -> FileStorageInDir:
7
+ def create_media_file_storage_in_dir() -> FileStorageInDir | None:
8
+ if get_cached_settings().media_dirpath is None:
9
+ return None
8
10
  return FileStorageInDir(dirpath=get_cached_settings().media_dirpath)
9
11
 
10
12
 
11
13
  @lru_cache()
12
- def get_cached_media_file_storage_in_dir() -> FileStorageInDir:
14
+ def get_cached_media_file_storage_in_dir() -> FileStorageInDir | None:
13
15
  return create_media_file_storage_in_dir()
14
16
 
15
17
 
@@ -105,7 +105,7 @@ class Settings(SimpleSettings):
105
105
 
106
106
  api_init_json_db: bool = False
107
107
 
108
- api_correct_api_keys: list[str] | None = "1"
108
+ api_correct_api_keys: list[str] | None = ["1"]
109
109
 
110
110
  @field_validator("api_correct_api_keys", mode="before")
111
111
  def validate_api_correct_api_keys(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> list[str] | None:
@@ -119,7 +119,7 @@ class Settings(SimpleSettings):
119
119
  v[i] = str(v_)
120
120
  return v
121
121
 
122
- api_correct_tokens: list[str] | None = "1"
122
+ api_correct_tokens: list[str] | None = ["1"]
123
123
 
124
124
  @field_validator("api_correct_tokens", mode="before")
125
125
  def validate_api_correct_tokens(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> list[str] | None:
@@ -133,15 +133,17 @@ class Settings(SimpleSettings):
133
133
  v[i] = str(v_)
134
134
  return v
135
135
 
136
- api_enable_admin1: bool = True
136
+ api_enable_sqladmin: bool = True
137
137
 
138
138
  api_start_operation_executor_worker: bool = False
139
139
 
140
140
  api_start_scheduled_operation_creator_worker: bool = False
141
141
 
142
- api_story_log__api_func_before_in_exception_handler: bool = True
142
+ api_story_log__api_func_before_in_exception_handler: bool = False
143
143
 
144
- admin1_secret_key: str | None = "85a9583cb91c4de7a78d7eb1e5306a04418c9c43014c447ea8ec8dd5deb4cf71"
144
+ sqladmin_secret_key: str | None = "85a9583cb91c4de7a78d7eb1e5306a04418c9c43014c447ea8ec8dd5deb4cf71"
145
+
146
+ sqladmin_correct_passwords: list[str] | None = ["1"]
145
147
 
146
148
  tg_bot_token: str | None = None
147
149
 
@@ -13,11 +13,12 @@
13
13
  # api_init_json_db=
14
14
  # api_correct_api_keys=
15
15
  # api_correct_tokens=
16
- # api_enable_admin1=
16
+ # api_enable_sqladmin=
17
17
  # api_start_operation_executor_worker=
18
18
  # api_start_scheduled_operation_creator_worker=
19
19
  # api_story_log__api_func_before_in_exception_handler=
20
- # admin1_secret_key=
20
+ # sqladmin_secret_key=
21
+ # sqladmin_correct_passwords=
21
22
  # tg_bot_token=
22
23
  # tg_bot_proxy_url=
23
24
  # tg_bot_init_sqlalchemy_db=
@@ -0,0 +1,28 @@
1
+ import os
2
+ from functools import lru_cache
3
+
4
+ from arpakitlib.ar_json_db_util import BaseJSONDb
5
+ from core.settings import get_cached_settings
6
+
7
+
8
+ class JSONDb(BaseJSONDb):
9
+ def __init__(self, dirpath: str):
10
+ super().__init__()
11
+ self.story_log = self.create_json_db_file(
12
+ filepath=os.path.join(dirpath, "story_log.json"), use_memory=True, beautify_json=False
13
+ )
14
+
15
+
16
+ def create_json_db() -> JSONDb | None:
17
+ if get_cached_settings().json_db_dirpath is None:
18
+ return None
19
+ return JSONDb(
20
+ dirpath=get_cached_settings().json_db_dirpath
21
+ )
22
+
23
+
24
+ @lru_cache()
25
+ def get_cached_json_db() -> JSONDb:
26
+ return JSONDb(
27
+ dirpath=get_cached_settings().json_db_dirpath
28
+ )
@@ -0,0 +1,3 @@
1
+ from fastapi import APIRouter
2
+
3
+ main_site_router = APIRouter()
@@ -0,0 +1,24 @@
1
+ from fastapi import FastAPI
2
+ from sqladmin import Admin
3
+
4
+ from core.settings import get_cached_settings
5
+ from sqladmin_.admin_auth import SQLAdminAuth
6
+ from sqladmin_.model_view import get_simple_mv
7
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
8
+
9
+
10
+ def add_sqladmin_in_app(*, app: FastAPI, base_url: str = "sqladmin") -> FastAPI:
11
+ authentication_backend = SQLAdminAuth()
12
+
13
+ admin = Admin(
14
+ app=app,
15
+ engine=get_cached_sqlalchemy_db().engine,
16
+ base_url=base_url,
17
+ authentication_backend=authentication_backend,
18
+ title=get_cached_settings().project_name
19
+ )
20
+
21
+ for model_view in get_simple_mv().__subclasses__():
22
+ admin.add_model_view(model_view)
23
+
24
+ return app
@@ -0,0 +1,54 @@
1
+ import logging
2
+
3
+ import fastapi
4
+ from sqladmin.authentication import AuthenticationBackend
5
+
6
+ from core.settings import get_cached_settings
7
+
8
+
9
+ class SQLAdminAuth(AuthenticationBackend):
10
+ def __init__(self):
11
+ self._logger = logging.getLogger(self.__class__.__name__)
12
+ super().__init__(secret_key=get_cached_settings().sqladmin_secret_key)
13
+
14
+ async def login(self, request: fastapi.Request) -> bool:
15
+ form = await request.form()
16
+ username, password = form.get("username"), form.get("password")
17
+ if username:
18
+ username = username.strip()
19
+ if password:
20
+ password = password.strip()
21
+
22
+ if get_cached_settings().sqladmin_correct_passwords is None:
23
+ return False
24
+ if (
25
+ (username is not None and username in get_cached_settings().sqladmin_correct_passwords)
26
+ or
27
+ (password is not None and password in get_cached_settings().sqladmin_correct_passwords)
28
+ ):
29
+ return True
30
+
31
+ return False
32
+
33
+ async def logout(self, request: fastapi.Request) -> bool:
34
+ request.session.clear()
35
+ return True
36
+
37
+ async def authenticate(self, request: fastapi.Request) -> bool:
38
+ form = await request.form()
39
+ username, password = form.get("username"), form.get("password")
40
+ if username:
41
+ username = username.strip()
42
+ if password:
43
+ password = password.strip()
44
+
45
+ if get_cached_settings().sqladmin_correct_passwords is None:
46
+ return False
47
+ if (
48
+ (username is not None and username in get_cached_settings().sqladmin_correct_passwords)
49
+ or
50
+ (password is not None and password in get_cached_settings().sqladmin_correct_passwords)
51
+ ):
52
+ return True
53
+
54
+ return False
@@ -5,7 +5,10 @@ from core.settings import get_cached_settings
5
5
  from sqlalchemy_db.sqlalchemy_model import get_simple_dbm
6
6
 
7
7
 
8
- def create_sqlalchemy_db() -> SQLAlchemyDb:
8
+ def create_sqlalchemy_db() -> SQLAlchemyDb | None:
9
+ if not get_cached_settings().sqlalchemy_sync_db_url or not get_cached_settings().sqlalchemy_async_db_url:
10
+ return None
11
+
9
12
  return SQLAlchemyDb(
10
13
  sync_db_url=get_cached_settings().sqlalchemy_sync_db_url,
11
14
  async_db_url=get_cached_settings().sqlalchemy_async_db_url,
@@ -15,5 +18,5 @@ def create_sqlalchemy_db() -> SQLAlchemyDb:
15
18
 
16
19
 
17
20
  @lru_cache()
18
- def get_cached_sqlalchemy_db() -> SQLAlchemyDb:
21
+ def get_cached_sqlalchemy_db() -> SQLAlchemyDb | None:
19
22
  return create_sqlalchemy_db()
@@ -9,7 +9,7 @@ from core.cache_file_storage_in_dir import get_cached_cache_file_storage_in_dir
9
9
  from core.dump_file_storage_in_dir import get_cached_dump_file_storage_in_dir
10
10
  from core.media_file_storage_in_dir import get_cached_media_file_storage_in_dir
11
11
  from core.settings import Settings, get_cached_settings
12
- from json_db.util import get_json_db
12
+ from json_db.json_db import get_cached_json_db
13
13
  from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
14
14
 
15
15
 
@@ -27,7 +27,7 @@ def create_transmitted_tg_bot_data() -> TransmittedTgBotData:
27
27
 
28
28
  sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sqlalchemy_sync_db_url is not None else None
29
29
 
30
- json_db = get_json_db() if settings.json_db_dirpath is not None else None
30
+ json_db = get_cached_json_db() if settings.json_db_dirpath is not None else None
31
31
 
32
32
  media_file_storage_in_dir = (
33
33
  get_cached_media_file_storage_in_dir() if settings.media_dirpath is not None else None
@@ -38,8 +38,10 @@ def init_arpakit_project_template(
38
38
 
39
39
  def _generate_filepath_to_content() -> dict[str, bytes]:
40
40
  arpakit_project_template_dirpath = os.path.join(
41
- os.path.dirname(os.path.abspath(__file__)), f"_arpakit_project_template_v{version}"
41
+ os.path.dirname(os.path.abspath(__file__)), f"_arpakit_project_template_v_{version}"
42
42
  )
43
+ if not os.path.exists(arpakit_project_template_dirpath):
44
+ raise Exception(f"not os.path.exists({arpakit_project_template_dirpath})")
43
45
  res = {}
44
46
  for root, dirs, files in os.walk(arpakit_project_template_dirpath):
45
47
  dirs[:] = [d for d in dirs if d != '__pycache__']
@@ -31,9 +31,6 @@ def execute_arpakitlib_cli(*, full_command: str | None = None):
31
31
  print("-overwrite_if_exists ...")
32
32
  print("-ignore_paths_startswith ...")
33
33
  print("-only_paths_startswith ...")
34
- print("-param1 ...")
35
- print("-param2 ...")
36
- print("-param3 ...")
37
34
  print("\n")
38
35
 
39
36
  elif command == "init_arpakit_project_template":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.0
3
+ Version: 1.8.2
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company