arpakitlib 1.7.252__tar.gz → 1.7.255__tar.gz

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 (241) hide show
  1. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/PKG-INFO +1 -1
  2. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/alembic/env.py +1 -1
  3. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/example.env +8 -1
  4. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/manage/docker_rm_postgres.sh +3 -0
  5. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh +5 -0
  6. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/manage/docker_start_postgres.sh +3 -0
  7. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/manage/docker_stop_postgres.sh +3 -0
  8. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh +2 -2
  9. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +9 -0
  10. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +43 -0
  11. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/event.py +4 -6
  12. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/api/util.py +44 -0
  13. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/_show_settings.py +1 -0
  14. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/_drop_json_db.py +13 -0
  15. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/_init_json_db.py +11 -0
  16. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/_reinit_json_db.py +13 -0
  17. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/_rm_all_records_in_json_db.py +13 -0
  18. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/json_db.py +11 -0
  19. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db/util.py +17 -0
  20. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py +1 -1
  21. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py +1 -1
  22. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/_check_conn_sqlalchemy_db.py +1 -1
  23. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/_drop_sqlalchemy_db.py +1 -1
  24. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/_init_sqlalchemy_db.py +1 -1
  25. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/_reinit_sqlalchemy_db.py +1 -1
  26. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/operation_execution → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/_remove_operations.py +1 -1
  27. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db/_remove_story_logs.py +16 -0
  28. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/util.py +6 -6
  29. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/event.py +8 -2
  30. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/start_tg_bot.py +1 -2
  31. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py +6 -0
  32. arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/util.py +44 -0
  33. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_aiogram_util.py +17 -6
  34. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_util.py +8 -6
  35. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_json_db_util.py +7 -5
  36. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_operation_execution_util.py +9 -7
  37. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_settings_util.py +51 -34
  38. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_sqlalchemy_util.py +10 -26
  39. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/pyproject.toml +1 -1
  40. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh +0 -5
  41. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/manage/docker_start_postgres.sh +0 -3
  42. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/manage/docker_stop_postgres.sh +0 -3
  43. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +0 -9
  44. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +0 -68
  45. arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py +0 -17
  46. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/LICENSE +0 -0
  47. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/README.md +0 -0
  48. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/__init__.py +0 -0
  49. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/.gitignore +0 -0
  50. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/.python-version +0 -0
  51. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/ARPAKITLIB +0 -0
  52. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/LICENSE +0 -0
  53. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/README.md +0 -0
  54. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/alembic/README +0 -0
  55. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/alembic/script.py.mako +0 -0
  56. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/alembic.ini +0 -0
  57. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/__init__.py +0 -0
  58. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/alembic_upgrade_head .sh +0 -0
  59. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/docker_ps.sh +0 -0
  60. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh +0 -0
  61. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_branch.sh +0 -0
  62. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_commit.sh +0 -0
  63. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh +0 -0
  64. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh +0 -0
  65. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_github_1.sh +0 -0
  66. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_gitlab_1.sh +0 -0
  67. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_remote_v.sh +0 -0
  68. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/git_status.sh +0 -0
  69. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/hello_world.py +0 -0
  70. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/json_beautify.py +0 -0
  71. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/__init__.py +0 -0
  72. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/note_1.txt +0 -0
  73. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/note_2.txt +0 -0
  74. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/note_3.txt +0 -0
  75. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/note_4.txt +0 -0
  76. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/note/note_5.txt +0 -0
  77. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh +0 -0
  78. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_check.sh +0 -0
  79. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_clear_cache.sh +0 -0
  80. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_config.sh +0 -0
  81. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh +0 -0
  82. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_install.sh +0 -0
  83. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_lock.sh +0 -0
  84. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_remove_and_add_arpakitlib.sh +0 -0
  85. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_self_add_plugin_export.sh +0 -0
  86. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_show.sh +0 -0
  87. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_show_arpakitlib.sh +0 -0
  88. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_update.sh +0 -0
  89. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh +0 -0
  90. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/resource/__init__.py +0 -0
  91. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/resource/static/__init__.py +0 -0
  92. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/resource/static/healthcheck +0 -0
  93. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/resource/static/helloworld +0 -0
  94. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/__init__.py +0 -0
  95. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/additional_model/__init__.py +0 -0
  96. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py +0 -0
  97. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/admin1/__init__.py +0 -0
  98. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/admin1/add_admin_in_app.py +0 -0
  99. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/admin1/admin_auth.py +0 -0
  100. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/admin1/model_view.py +0 -0
  101. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/__init__.py +0 -0
  102. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/_start_api_with_reload.py +0 -0
  103. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/_start_api_without_reload.py +0 -0
  104. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/asgi.py +0 -0
  105. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/auth.py +0 -0
  106. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/const.py +0 -0
  107. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/create_handle_exception_.py +0 -0
  108. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/router/__init__.py +0 -0
  109. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/router/main_router.py +0 -0
  110. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py +0 -0
  111. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +0 -0
  112. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +0 -0
  113. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/schema/__init__.py +0 -0
  114. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py +0 -0
  115. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py +0 -0
  116. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +0 -0
  117. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py +0 -0
  118. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/business_service/__init__.py +0 -0
  119. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/business_service/hello_world.py +0 -0
  120. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/__init__.py +0 -0
  121. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/_check_logging.py +0 -0
  122. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/_generate_settings_env_example.py +0 -0
  123. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/const.py +0 -0
  124. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/settings.py +0 -0
  125. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/core/util.py +0 -0
  126. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/json_db}/__init__.py +0 -0
  127. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/just_script/__init__.py +0 -0
  128. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/just_script/example.py +0 -0
  129. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py +0 -0
  130. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/const.py +0 -0
  131. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py +0 -0
  132. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +0 -0
  133. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/operation_execution/util.py +0 -0
  134. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/__init__.py +0 -0
  135. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_1.py +0 -0
  136. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_2.py +0 -0
  137. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_3.py +0 -0
  138. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_4.py +0 -0
  139. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_5.py +0 -0
  140. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_6.py +0 -0
  141. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/sandbox/sandbox_7.py +0 -0
  142. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/test_data → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/__init__.py +0 -0
  143. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/const.py +0 -0
  144. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/db → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/sql_db}/sqlalchemy_model.py +0 -0
  145. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/test_data}/__init__.py +0 -0
  146. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py +0 -0
  147. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py +0 -0
  148. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py +0 -0
  149. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py +0 -0
  150. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py +0 -0
  151. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/blank → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot}/__init__.py +0 -0
  152. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/filter → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/blank}/__init__.py +0 -0
  153. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/blank/blank.py +0 -0
  154. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/blank/util.py +0 -0
  155. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/const.py +0 -0
  156. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/handler → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/filter}/__init__.py +0 -0
  157. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/filter/not_prod_mode.py +0 -0
  158. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/filter/prod_mode.py +0 -0
  159. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/kb → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/handler}/__init__.py +0 -0
  160. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/handler/cmd_arpakitlib.py +0 -0
  161. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/handler/cmd_healthcheck.py +0 -0
  162. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/kb/inline_ → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/kb}/__init__.py +0 -0
  163. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/kb/static_ → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/kb/inline_}/__init__.py +0 -0
  164. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/kb/inline_/callback.py +0 -0
  165. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/kb/inline_/common.py +0 -0
  166. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/middleware → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/kb/static_}/__init__.py +0 -0
  167. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/kb/static_/common.py +0 -0
  168. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/tg_bot/router → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/middleware}/__init__.py +0 -0
  169. {arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/util → arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/tg_bot/router}/__init__.py +0 -0
  170. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/router/error.py +0 -0
  171. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/_arpakit_project_template/src/tg_bot/router/router.py +0 -0
  172. /arpakitlib-1.7.252/arpakitlib/_arpakit_project_template/src/api/util.py → /arpakitlib-1.7.255/arpakitlib/_arpakit_project_template/src/util/__init__.py +0 -0
  173. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_additional_model_util.py +0 -0
  174. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_api_key_util.py +0 -0
  175. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  176. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  177. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  178. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
  179. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  180. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_base64_util.py +0 -0
  181. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_base_worker_util.py +0 -0
  182. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_blank_util.py +0 -0
  183. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_cache_file_util.py +0 -0
  184. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_class_util.py +0 -0
  185. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_cryptomus_api_client_util.py +0 -0
  186. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_datetime_util.py +0 -0
  187. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_dict_util.py +0 -0
  188. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  189. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  190. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_enumeration_util.py +0 -0
  191. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_exception_util.py +0 -0
  192. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/healthcheck +0 -0
  193. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js +0 -0
  194. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png +0 -0
  195. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-32x32.png +0 -0
  196. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/index.css +0 -0
  197. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -0
  198. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/oauth2-redirect.html +0 -0
  199. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-initializer.js +0 -0
  200. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -0
  201. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  202. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  203. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  204. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  205. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  206. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  207. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  208. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css +0 -0
  209. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map +0 -0
  210. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js +0 -0
  211. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -0
  212. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  213. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_file_util.py +0 -0
  214. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_func_util.py +0 -0
  215. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_hash_util.py +0 -0
  216. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_http_request_util.py +0 -0
  217. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_ip_util.py +0 -0
  218. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_json_util.py +0 -0
  219. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_jwt_util.py +0 -0
  220. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  221. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_list_util.py +0 -0
  222. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_logging_util.py +0 -0
  223. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_mongodb_util.py +0 -0
  224. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_need_type_util.py +0 -0
  225. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_openai_api_client_util.py +0 -0
  226. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_parse_command.py +0 -0
  227. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_postgresql_util.py +0 -0
  228. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_rat_func_util.py +0 -0
  229. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_retry_func_util.py +0 -0
  230. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_run_cmd_util.py +0 -0
  231. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  232. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_sleep_util.py +0 -0
  233. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_sqladmin_util.py +0 -0
  234. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_sqlalchemy_model_util.py +0 -0
  235. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_ssh_runner_util.py +0 -0
  236. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_steam_payment_api_client_util.py +0 -0
  237. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_str_util.py +0 -0
  238. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_type_util.py +0 -0
  239. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_wata_api_client.py +0 -0
  240. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  241. {arpakitlib-1.7.252 → arpakitlib-1.7.255}/arpakitlib/ar_zabbix_api_client_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.7.252
3
+ Version: 1.7.255
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -5,7 +5,7 @@ from sqlalchemy import engine_from_config
5
5
  from sqlalchemy import pool
6
6
 
7
7
  from src.core.settings import get_cached_settings
8
- from src.db.util import get_base_dbm
8
+ from src.sql_db.util import get_base_dbm
9
9
 
10
10
  # this is the Alembic Config object, which provides
11
11
  # access to the values within the .ini file in use.
@@ -2,22 +2,29 @@
2
2
  # project_name=
3
3
  # sql_db_user=
4
4
  # sql_db_password=
5
+ # sql_db_host=
5
6
  # sql_db_port=
6
7
  # sql_db_database=
7
8
  # sync_sql_db_url=
8
9
  # async_sql_db_url=
9
10
  # sql_db_echo=
10
11
  # api_port=
11
- # api_init_sql_db_at_start=
12
+ # api_init_sql_db=
13
+ # api_init_json_db=
12
14
  # api_logging__api_func_before_in_handle_exception=
13
15
  # api_story_log__api_func_before_in_handle_exception=
14
16
  # api_correct_api_key=
15
17
  # api_correct_token=
16
18
  # api_enable_admin1=
19
+ # api_start_operation_executor_worker=
20
+ # api_start_scheduled_operation_creator_worker=
17
21
  # admin1_secret_key=
22
+ # tg_bot_init_sql_db=
23
+ # tg_bot_init_json_db=
18
24
  # var_dirpath=
19
25
  # log_filepath=
20
26
  # cache_dirpath=
21
27
  # media_dirpath=
22
28
  # dump_dirpath=
23
29
  # local_timezone=
30
+ # json_db_dirpath=
@@ -0,0 +1,3 @@
1
+ cd ..
2
+ source .env
3
+ docker rm -f ${project_name}_postgres
@@ -0,0 +1,5 @@
1
+ cd ..
2
+ source .env
3
+ docker rm ${project_name}_postgres
4
+ docker run --name ${project_name}_postgres -d -p ${sql_db_port}:5432 -e POSTGRES_USER=${sql_db_user} -e POSTGRES_PASSWORD=${sql_db_password} -e POSTGRES_DB=${sql_db_database} postgres:16 -c max_connections=100
5
+ docker start ${project_name}_postgres
@@ -0,0 +1,3 @@
1
+ cd ..
2
+ source .env
3
+ docker start ${project_name}_postgres
@@ -0,0 +1,3 @@
1
+ cd ..
2
+ source .env
3
+ docker stop ${project_name}_postgres
@@ -3,7 +3,7 @@ cd ..
3
3
  source .env
4
4
 
5
5
  git remote remove arpakit_company_github_1
6
- git remote add arpakit_company_github_1 git@github.com:ARPAKIT-Company/${PROJECT_NAME}.git
6
+ git remote add arpakit_company_github_1 git@github.com:ARPAKIT-Company/${project_name}.git
7
7
 
8
8
  git remote remove arpakit_company_gitlab_1
9
- git remote add arpakit_company_gitlab_1 git@gitlab.com:ARPAKIT-Company/${PROJECT_NAME}.git
9
+ git remote add arpakit_company_gitlab_1 git@gitlab.com:ARPAKIT-Company/${project_name}.git
@@ -0,0 +1,9 @@
1
+ cd ..
2
+
3
+ source .env
4
+
5
+ git remote remove arpakit_github_1
6
+ git remote add arpakit_github_1 git@github.com:arpakit/${project_name}.git
7
+
8
+ git remote remove arpakit_gitlab_1
9
+ git remote add arpakit_gitlab_1 git@gitlab.com:arpakit/${project_name}.git
@@ -0,0 +1,43 @@
1
+ from fastapi import FastAPI
2
+
3
+ from arpakitlib.ar_fastapi_util import create_fastapi_app
4
+ from src.api.create_handle_exception_ import create_handle_exception_
5
+ from src.api.event import get_startup_api_events, get_shutdown_api_events
6
+ from src.api.router.main_router import main_api_router
7
+ from src.api.util import get_transmitted_api_data
8
+ from src.core.const import ProjectPaths
9
+ from src.core.util import setup_logging
10
+
11
+
12
+ def create_api_app() -> FastAPI:
13
+ setup_logging()
14
+
15
+ transmitted_api_data = get_transmitted_api_data()
16
+
17
+ handle_exception_ = create_handle_exception_(transmitted_api_data=transmitted_api_data)
18
+
19
+ startup_api_events = get_startup_api_events(transmitted_api_data=transmitted_api_data)
20
+
21
+ shutdown_api_events = get_shutdown_api_events(transmitted_api_data=transmitted_api_data)
22
+
23
+ api_app = create_fastapi_app(
24
+ title=transmitted_api_data.settings.project_name,
25
+ description=transmitted_api_data.settings.project_name,
26
+ handle_exception_=handle_exception_,
27
+ startup_api_events=startup_api_events,
28
+ shutdown_api_events=shutdown_api_events,
29
+ transmitted_api_data=transmitted_api_data,
30
+ main_api_router=main_api_router,
31
+ media_dirpath=transmitted_api_data.settings.media_dirpath,
32
+ static_dirpath=ProjectPaths.static_dirpath
33
+ )
34
+
35
+ if transmitted_api_data.settings.api_enable_admin1:
36
+ from src.admin1.add_admin_in_app import add_admin1_in_app
37
+ add_admin1_in_app(app=api_app)
38
+
39
+ return api_app
40
+
41
+
42
+ if __name__ == '__main__':
43
+ create_api_app()
@@ -1,8 +1,6 @@
1
1
  from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
2
2
  from arpakitlib.ar_fastapi_util import BaseStartupAPIEvent, BaseShutdownAPIEvent
3
3
  from arpakitlib.ar_operation_execution_util import OperationExecutorWorker, ScheduledOperationCreatorWorker
4
- from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
5
- from arpakitlib.ar_type_util import raise_for_type
6
4
  from src.api.transmitted_api_data import TransmittedAPIData
7
5
  from src.operation_execution.operation_executor import OperationExecutor
8
6
  from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
@@ -28,12 +26,13 @@ class StartupAPIEvent(BaseStartupAPIEvent):
28
26
  if self.transmitted_api_data.dump_file_storage_in_dir is not None:
29
27
  self.transmitted_api_data.dump_file_storage_in_dir.init()
30
28
 
31
- if self.transmitted_api_data.settings.api_init_sql_db_at_start:
32
- raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
29
+ if self.transmitted_api_data.settings.api_init_sql_db:
33
30
  self.transmitted_api_data.sqlalchemy_db.init()
34
31
 
32
+ if self.transmitted_api_data.settings.api_init_json_db:
33
+ self.transmitted_api_data.json_db.init()
34
+
35
35
  if self.transmitted_api_data.settings.api_start_operation_executor_worker: # TODO
36
- raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
37
36
  _ = safe_run_worker_in_background(
38
37
  worker=OperationExecutorWorker(
39
38
  sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
@@ -44,7 +43,6 @@ class StartupAPIEvent(BaseStartupAPIEvent):
44
43
  )
45
44
 
46
45
  if self.transmitted_api_data.settings.api_start_scheduled_operation_creator_worker: # TODO
47
- raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
48
46
  _ = safe_run_worker_in_background(
49
47
  worker=ScheduledOperationCreatorWorker(
50
48
  sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
@@ -0,0 +1,44 @@
1
+ from functools import lru_cache
2
+
3
+ from src.api.transmitted_api_data import TransmittedAPIData
4
+ from src.core.settings import get_cached_settings
5
+ from src.core.util import get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
6
+ get_cached_dump_file_storage_in_dir
7
+ from src.json_db.util import get_json_db
8
+ from src.sql_db.util import get_cached_sqlalchemy_db
9
+
10
+
11
+ def create_transmitted_api_data() -> TransmittedAPIData:
12
+ settings = get_cached_settings()
13
+
14
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sync_sql_db_url is not None else None
15
+
16
+ json_db = get_json_db() if settings.json_db_dirpath is not None else None
17
+
18
+ media_file_storage_in_dir = (
19
+ get_cached_media_file_storage_in_dir() if settings.media_dirpath is not None else None
20
+ )
21
+
22
+ cache_file_storage_in_dir = (
23
+ get_cached_cache_file_storage_in_dir() if settings.cache_dirpath is not None else None
24
+ )
25
+
26
+ dump_file_storage_in_dir = (
27
+ get_cached_dump_file_storage_in_dir() if settings.dump_dirpath is not None else None
28
+ )
29
+
30
+ transmitted_api_data = TransmittedAPIData(
31
+ sqlalchemy_db=sqlalchemy_db,
32
+ json_db=json_db,
33
+ media_file_storage_in_dir=media_file_storage_in_dir,
34
+ cache_file_storage_in_dir=cache_file_storage_in_dir,
35
+ dump_file_storage_in_dir=dump_file_storage_in_dir,
36
+ settings=settings
37
+ )
38
+
39
+ return transmitted_api_data
40
+
41
+
42
+ @lru_cache()
43
+ def get_transmitted_api_data() -> TransmittedAPIData:
44
+ return create_transmitted_api_data()
@@ -4,6 +4,7 @@ from src.core.settings import get_cached_settings
4
4
 
5
5
  def _check_settings():
6
6
  print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
7
+ print(get_cached_settings().is_any_sql_db_url_set)
7
8
 
8
9
 
9
10
  if __name__ == '__main__':
@@ -0,0 +1,13 @@
1
+ from src.core.settings import get_cached_settings
2
+ from src.core.util import setup_logging
3
+ from src.json_db.util import get_json_db
4
+
5
+
6
+ def _init_json_db():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().drop()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ _init_json_db()
@@ -0,0 +1,11 @@
1
+ from src.core.util import setup_logging
2
+ from src.json_db.util import get_json_db
3
+
4
+
5
+ def _init_json_db():
6
+ setup_logging()
7
+ get_json_db().init()
8
+
9
+
10
+ if __name__ == '__main__':
11
+ _init_json_db()
@@ -0,0 +1,13 @@
1
+ from src.core.settings import get_cached_settings
2
+ from src.core.util import setup_logging
3
+ from src.json_db.util import get_json_db
4
+
5
+
6
+ def _init_json_db():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().reinit()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ _init_json_db()
@@ -0,0 +1,13 @@
1
+ from src.core.settings import get_cached_settings
2
+ from src.core.util import setup_logging
3
+ from src.json_db.util import get_json_db
4
+
5
+
6
+ def _init_json_db():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().rm_all_records()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ _init_json_db()
@@ -0,0 +1,11 @@
1
+ import os
2
+
3
+ from arpakitlib.ar_json_db_util import BaseJSONDb
4
+
5
+
6
+ class JSONDb(BaseJSONDb):
7
+ def __init__(self, dirpath: str):
8
+ super().__init__()
9
+ self.story_log = self.create_json_db_file(
10
+ filepath=os.path.join(dirpath, "story_log.json"), use_memory=True, beautify_json=False
11
+ )
@@ -0,0 +1,17 @@
1
+ from functools import lru_cache
2
+
3
+ from src.core.settings import get_cached_settings
4
+ from src.json_db.json_db import JSONDb
5
+
6
+
7
+ def create_json_db() -> JSONDb:
8
+ return JSONDb(
9
+ dirpath=get_cached_settings().json_db_dirpath
10
+ )
11
+
12
+
13
+ @lru_cache()
14
+ def get_json_db() -> JSONDb:
15
+ return JSONDb(
16
+ dirpath=get_cached_settings().json_db_dirpath
17
+ )
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import OperationExecutorWorker
2
2
  from src.core.util import setup_logging
3
- from src.db.util import get_cached_sqlalchemy_db
4
3
  from src.operation_execution.operation_executor import OperationExecutor
4
+ from src.sql_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _start_operation_executor_worker():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import ScheduledOperationCreatorWorker
2
2
  from src.core.util import setup_logging
3
- from src.db.util import get_cached_sqlalchemy_db
4
3
  from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
4
+ from src.sql_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _start_scheduled_operation_creator_worker():
@@ -1,5 +1,5 @@
1
1
  from src.core.util import setup_logging
2
- from src.db.util import get_cached_sqlalchemy_db
2
+ from src.sql_db.util import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def _check_conn_sqlalchemy_db():
@@ -1,6 +1,6 @@
1
1
  from src.core.settings import get_cached_settings
2
2
  from src.core.util import setup_logging
3
- from src.db.util import get_cached_sqlalchemy_db
3
+ from src.sql_db.util import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def _reinit_sqlalchemy_db():
@@ -1,5 +1,5 @@
1
1
  from src.core.util import setup_logging
2
- from src.db.util import get_cached_sqlalchemy_db
2
+ from src.sql_db.util import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def _init_sqlalchemy_db():
@@ -1,6 +1,6 @@
1
1
  from src.core.settings import get_cached_settings
2
2
  from src.core.util import setup_logging
3
- from src.db.util import get_cached_sqlalchemy_db
3
+ from src.sql_db.util import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def _reinit_sqlalchemy_db():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import remove_operations
2
2
  from src.core.settings import get_cached_settings
3
3
  from src.core.util import setup_logging
4
- from src.db.util import get_cached_sqlalchemy_db
4
+ from src.sql_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _remove_operations():
@@ -0,0 +1,16 @@
1
+ from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
2
+ from src.core.settings import get_cached_settings
3
+ from src.core.util import setup_logging
4
+ from src.sql_db.util import get_cached_sqlalchemy_db
5
+
6
+
7
+ def _remove_story_logs():
8
+ setup_logging()
9
+ get_cached_settings().raise_if_mode_type_prod()
10
+ with get_cached_sqlalchemy_db().new_session() as session:
11
+ session.query(StoryLogDBM).delete()
12
+ session.commit()
13
+
14
+
15
+ if __name__ == '__main__':
16
+ _remove_story_logs()
@@ -1,21 +1,21 @@
1
1
  from functools import lru_cache
2
2
 
3
3
  from arpakitlib.ar_sqlalchemy_model_util import BaseDBM
4
- from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
4
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
5
5
  from src.core.settings import get_cached_settings
6
6
 
7
7
 
8
8
  def get_base_dbm() -> type[BaseDBM]:
9
9
  from arpakitlib.ar_sqlalchemy_model_util import import_ar_sqlalchemy_models
10
10
  import_ar_sqlalchemy_models()
11
- from src.db.sqlalchemy_model import import_project_sqlalchemy_models
11
+ from src.sql_db.sqlalchemy_model import import_project_sqlalchemy_models
12
12
  import_project_sqlalchemy_models()
13
13
  return BaseDBM
14
14
 
15
15
 
16
- def create_sqlalchemy_db() -> SQLAlchemyDB:
17
- return SQLAlchemyDB(
18
- db_url=get_cached_settings().sql_db_url,
16
+ def create_sqlalchemy_db() -> SQLAlchemyDb:
17
+ return SQLAlchemyDb(
18
+ sync_db_url=get_cached_settings().sync_sql_db_url,
19
19
  async_db_url=get_cached_settings().async_sql_db_url,
20
20
  db_echo=get_cached_settings().sql_db_echo,
21
21
  base_dbm=get_base_dbm()
@@ -23,5 +23,5 @@ def create_sqlalchemy_db() -> SQLAlchemyDB:
23
23
 
24
24
 
25
25
  @lru_cache()
26
- def get_cached_sqlalchemy_db() -> SQLAlchemyDB:
26
+ def get_cached_sqlalchemy_db() -> SQLAlchemyDb:
27
27
  return create_sqlalchemy_db()
@@ -9,7 +9,7 @@ class StartupTgBotEvent:
9
9
  self.transmitted_tg_bot_data = transmitted_tg_bot_data
10
10
 
11
11
  async def on_startup(self, *args, **kwargs):
12
- self._logger.info("on_startup start")
12
+ self._logger.info("start")
13
13
 
14
14
  if self.transmitted_tg_bot_data.media_file_storage_in_dir is not None:
15
15
  self.transmitted_tg_bot_data.media_file_storage_in_dir.init()
@@ -20,7 +20,13 @@ class StartupTgBotEvent:
20
20
  if self.transmitted_tg_bot_data.dump_file_storage_in_dir is not None:
21
21
  self.transmitted_tg_bot_data.dump_file_storage_in_dir.init()
22
22
 
23
- self._logger.info("on_startup was done")
23
+ if self.transmitted_tg_bot_data.settings.api_init_sql_db:
24
+ self.transmitted_tg_bot_data.sqlalchemy_db.init()
25
+
26
+ if self.transmitted_tg_bot_data.settings.api_init_json_db:
27
+ self.transmitted_tg_bot_data.json_db.init()
28
+
29
+ self._logger.info("finish")
24
30
 
25
31
 
26
32
  class ShutdownTgBotEvent:
@@ -1,11 +1,10 @@
1
- from src.core.settings import get_cached_settings
2
1
  from src.core.util import setup_logging
3
2
 
4
3
 
5
4
  def start_tg_bot():
6
5
  setup_logging()
7
6
 
8
- settings = get_cached_settings()
7
+ # ...
9
8
 
10
9
 
11
10
  if __name__ == '__main__':
@@ -0,0 +1,6 @@
1
+ from arpakitlib.ar_aiogram_util import AdvancedTransmittedTgBotData
2
+ from src.core.settings import Settings
3
+
4
+
5
+ class TransmittedTgData(AdvancedTransmittedTgBotData):
6
+ settings: Settings | None = None
@@ -0,0 +1,44 @@
1
+ from functools import lru_cache
2
+
3
+ from src.core.settings import get_cached_settings
4
+ from src.core.util import get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
5
+ get_cached_dump_file_storage_in_dir
6
+ from src.json_db.util import get_json_db
7
+ from src.sql_db.util import get_cached_sqlalchemy_db
8
+ from src.tg_bot.transmitted_tg_data import TransmittedTgData
9
+
10
+
11
+ def create_transmitted_tg_bot_data() -> TransmittedTgData:
12
+ settings = get_cached_settings()
13
+
14
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sync_sql_db_url is not None else None
15
+
16
+ json_db = get_json_db() if settings.json_db_dirpath is not None else None
17
+
18
+ media_file_storage_in_dir = (
19
+ get_cached_media_file_storage_in_dir() if settings.media_dirpath is not None else None
20
+ )
21
+
22
+ cache_file_storage_in_dir = (
23
+ get_cached_cache_file_storage_in_dir() if settings.cache_dirpath is not None else None
24
+ )
25
+
26
+ dump_file_storage_in_dir = (
27
+ get_cached_dump_file_storage_in_dir() if settings.dump_dirpath is not None else None
28
+ )
29
+
30
+ transmitted_api_data = TransmittedTgData(
31
+ sqlalchemy_db=sqlalchemy_db,
32
+ json_db=json_db,
33
+ media_file_storage_in_dir=media_file_storage_in_dir,
34
+ cache_file_storage_in_dir=cache_file_storage_in_dir,
35
+ dump_file_storage_in_dir=dump_file_storage_in_dir,
36
+ settings=settings
37
+ )
38
+
39
+ return transmitted_api_data
40
+
41
+
42
+ @lru_cache()
43
+ def get_transmitted_tg_bot_data() -> TransmittedTgData:
44
+ return create_transmitted_tg_bot_data()
@@ -13,8 +13,12 @@ from aiogram.filters import CommandObject, Filter
13
13
  from aiogram.filters.callback_data import CallbackData
14
14
  from pydantic import BaseModel, ConfigDict
15
15
 
16
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
17
+ from arpakitlib.ar_json_db_util import BaseJSONDb
16
18
  from arpakitlib.ar_need_type_util import parse_need_type, NeedTypes
17
19
  from arpakitlib.ar_parse_command import BadCommandFormat, parse_command
20
+ from arpakitlib.ar_settings_util import BaseSettings2
21
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
18
22
  from arpakitlib.ar_type_util import raise_for_types, raise_for_type
19
23
 
20
24
  _ARPAKIT_LIB_MODULE_VERSION = "3.0"
@@ -315,10 +319,22 @@ class BaseTransmittedTgBotData(BaseModel):
315
319
  model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
316
320
 
317
321
 
322
+ class SimpleTransmittedTgBotData(BaseTransmittedTgBotData):
323
+ settings: BaseSettings2 | None = None
324
+
325
+
326
+ class AdvancedTransmittedTgBotData(SimpleTransmittedTgBotData):
327
+ sqlalchemy_db: SQLAlchemyDb | None = None
328
+ json_db: BaseJSONDb | None = None
329
+ media_file_storage_in_dir: FileStorageInDir | None = None
330
+ cache_file_storage_in_dir: FileStorageInDir | None = None
331
+ dump_file_storage_in_dir: FileStorageInDir | None = None
332
+
333
+
318
334
  def create_aiogram_tg_bot(*, token: str, proxy_url_: str | None = None, **kwargs) -> Bot:
319
335
  kwargs["token"] = token
320
336
 
321
- if proxy_url_:
337
+ if proxy_url_ is not None:
322
338
  kwargs["session"] = AiohttpSession(proxy=proxy_url_)
323
339
 
324
340
  if kwargs.get("default") is None:
@@ -333,11 +349,6 @@ def create_aiogram_tg_bot(*, token: str, proxy_url_: str | None = None, **kwargs
333
349
  return tg_bot
334
350
 
335
351
 
336
- def create_tg_bot_dispatcher():
337
- # TODO
338
- pass
339
-
340
-
341
352
  def __example():
342
353
  pass
343
354
 
@@ -31,10 +31,11 @@ from arpakitlib.ar_enumeration_util import Enumeration
31
31
  from arpakitlib.ar_exception_util import exception_to_traceback_str
32
32
  from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
33
33
  from arpakitlib.ar_func_util import raise_if_not_async_func, is_async_object
34
+ from arpakitlib.ar_json_db_util import BaseJSONDb
34
35
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str_to_json_obj, safely_transfer_obj_to_json_str
35
- from arpakitlib.ar_settings_util import SimpleSettings
36
+ from arpakitlib.ar_settings_util import BaseSettings2
36
37
  from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM, OperationDBM
37
- from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
38
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
38
39
  from arpakitlib.ar_type_util import raise_for_type, raise_if_none
39
40
 
40
41
  _ARPAKIT_LIB_MODULE_VERSION = "3.0"
@@ -355,12 +356,12 @@ def logging__api_func_before_in_handle_exception(
355
356
 
356
357
  def story_log__api_func_before_in_handle_exception(
357
358
  *,
358
- sqlalchemy_db: SQLAlchemyDB,
359
+ sqlalchemy_db: SQLAlchemyDb,
359
360
  ignore_api_error_codes: list[str] | None = None,
360
361
  ignore_status_codes: list[int] | None = None,
361
362
  ignore_exception_types: list[type[Exception]] | None = None
362
363
  ) -> Callable:
363
- raise_for_type(sqlalchemy_db, SQLAlchemyDB)
364
+ raise_for_type(sqlalchemy_db, SQLAlchemyDb)
364
365
 
365
366
  current_func_name = inspect.currentframe().f_code.co_name
366
367
 
@@ -532,11 +533,12 @@ class BaseTransmittedAPIData(BaseModel):
532
533
 
533
534
 
534
535
  class SimpleTransmittedAPIData(BaseTransmittedAPIData):
535
- settings: SimpleSettings | None = None
536
+ settings: BaseSettings2 | None = None
536
537
 
537
538
 
538
539
  class AdvancedTransmittedAPIData(SimpleTransmittedAPIData):
539
- sqlalchemy_db: SQLAlchemyDB | None = None
540
+ sqlalchemy_db: SQLAlchemyDb | None = None
541
+ json_db: BaseJSONDb | None = None
540
542
  media_file_storage_in_dir: FileStorageInDir | None = None
541
543
  cache_file_storage_in_dir: FileStorageInDir | None = None
542
544
  dump_file_storage_in_dir: FileStorageInDir | None = None
@@ -13,7 +13,7 @@ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
13
13
 
14
14
  class JSONDbFile:
15
15
 
16
- def __init__(self, *, filepath: str, use_memory: bool = True, beautify_json: bool = True):
16
+ def __init__(self, *, filepath: str, use_memory: bool = True, beautify_json: bool = True, **kwargs):
17
17
  self._logger = logging.getLogger(self.__class__.__name__)
18
18
  raise_for_type(filepath, str)
19
19
  filepath = os.path.abspath(filepath.strip())
@@ -173,9 +173,9 @@ class JSONDbFile:
173
173
  os.remove(self.filepath)
174
174
 
175
175
 
176
- class JSONDb:
176
+ class BaseJSONDb:
177
177
 
178
- def __init__(self, json_db_files: Optional[list[JSONDbFile]] = None):
178
+ def __init__(self, json_db_files: list[JSONDbFile] | None = None, **kwargs):
179
179
  self._logger = logging.getLogger(self.__class__.__name__)
180
180
  if json_db_files is None:
181
181
  json_db_files = []
@@ -190,7 +190,9 @@ class JSONDb:
190
190
  def __len__(self) -> int:
191
191
  return len(self.json_db_files)
192
192
 
193
- def create_json_db_file(self, filepath: str, use_memory: bool = False, beautify_json: bool = False) -> JSONDbFile:
193
+ def create_json_db_file(
194
+ self, filepath: str, use_memory: bool = False, beautify_json: bool = False, **kwargs
195
+ ) -> JSONDbFile:
194
196
  json_db_file = JSONDbFile(filepath=filepath, use_memory=use_memory, beautify_json=beautify_json)
195
197
  self.json_db_files.append(json_db_file)
196
198
  return json_db_file
@@ -215,7 +217,7 @@ class JSONDb:
215
217
  json_db_file.rm_all_records()
216
218
 
217
219
  def copy_files_to_dir(self, to_dirpath: str) -> Self:
218
- json_db = JSONDb()
220
+ json_db = BaseJSONDb()
219
221
  for json_db_file in self.json_db_files:
220
222
  filepath = os.path.join(to_dirpath, json_db_file.filename)
221
223
  json_db_file.copy(filepath)