simpledomcontrol 0.4.10__tar.gz → 0.4.12__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 (135) hide show
  1. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/PKG-INFO +7 -6
  2. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/README.md +1 -1
  3. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/pyproject.toml +5 -5
  4. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/__init__.py +0 -0
  5. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/apps.py +27 -25
  6. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/__init__.py +0 -0
  7. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/__init__.py +0 -0
  8. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/_private.py +0 -0
  9. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/__init__.py +0 -0
  10. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/add_controller_manager.py +254 -254
  11. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/options.py +40 -40
  12. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/sdc_core_manager.py +50 -50
  13. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/settings_manager.py +127 -127
  14. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/utils.py +80 -80
  15. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_cc.py +76 -76
  16. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_get_controller_infos.py +0 -1
  17. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_init.py +61 -61
  18. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_new_model.py +63 -63
  19. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_update_url.py +49 -49
  20. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/forms.py +25 -25
  21. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/import_manager.py +17 -17
  22. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/response.py +114 -62
  23. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/search.py +59 -59
  24. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/views.py +108 -108
  25. simpledomcontrol-0.4.12/sdc_core/template_files/Assets/gulpfile.jsx +38 -0
  26. simpledomcontrol-0.4.12/sdc_core/template_files/Assets/src/index.organizer.js +16 -0
  27. {simpledomcontrol-0.4.10/sdc_core/template_files/Assets/tests → simpledomcontrol-0.4.12/sdc_core/template_files/Assets/tests/config}/pre-test-setup.js +1 -0
  28. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/Assets/webpack.config/webpack.default.config.jsx +5 -0
  29. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/Assets/webpack.config/webpack.development.config.jsx +0 -6
  30. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/apps/sdc_examples/Add_SDCUser.txt +37 -37
  31. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/apps/sdc_examples/index.html +50 -50
  32. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/apps/sdc_examples/server_call.txt +75 -75
  33. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/asgi.py.txt +30 -30
  34. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/controller/templade_view.html +2 -2
  35. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/controller/template_controller.js.txt +44 -44
  36. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/controller/template_css.scss +3 -3
  37. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/package.json +80 -77
  38. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/routing.py.txt +8 -8
  39. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/sdc_urls.py.txt +8 -8
  40. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/sdc_views.py.txt +3 -3
  41. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/settings_extension.py.txt +38 -38
  42. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/templates/base.html +32 -32
  43. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/templates/index.html +22 -22
  44. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/urls.py.txt +8 -8
  45. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.js +16 -4
  46. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/__init__.py +0 -0
  47. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/apps.py +5 -5
  48. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/migrations/__init__.py +0 -0
  49. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/elements/form.html +98 -98
  50. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/elements/inline_form.html +72 -72
  51. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/email/base.html +57 -57
  52. simpledomcontrol-0.4.12/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +8 -0
  53. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templatetags/__init__.py +0 -0
  54. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templatetags/addclass.py +25 -25
  55. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templatetags/indexfilter.py +16 -16
  56. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templatetags/sdc_filter.py +43 -43
  57. simpledomcontrol-0.4.12/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.js +55 -0
  58. simpledomcontrol-0.4.12/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.scss +3 -0
  59. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/Assets/src/sdc_user/sdc_user.organizer.js +1 -0
  60. simpledomcontrol-0.4.12/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +2 -0
  61. simpledomcontrol-0.4.12/sdc_user/Assets/tests/sdc_user.test.js +37 -0
  62. {simpledomcontrol-0.4.10/sdc_tools → simpledomcontrol-0.4.12/sdc_user}/admin.py +3 -3
  63. {simpledomcontrol-0.4.10/sdc_tools → simpledomcontrol-0.4.12/sdc_user}/models.py +3 -3
  64. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/sdc_urls.py +2 -1
  65. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/sdc_views.py +6 -0
  66. simpledomcontrol-0.4.12/sdc_user/templates/sdc_user/sdc/sdc_user_nav_btn.html +5 -0
  67. {simpledomcontrol-0.4.10/sdc_tools → simpledomcontrol-0.4.12/sdc_user}/tests.py +3 -3
  68. {simpledomcontrol-0.4.10/sdc_tools → simpledomcontrol-0.4.12/sdc_user}/views.py +3 -3
  69. simpledomcontrol-0.4.10/sdc_core/template_files/Assets/gulpfile.jsx +0 -138
  70. simpledomcontrol-0.4.10/sdc_core/template_files/Assets/src/index.organizer.js +0 -12
  71. simpledomcontrol-0.4.10/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +0 -8
  72. simpledomcontrol-0.4.10/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +0 -1
  73. simpledomcontrol-0.4.10/sdc_user/Assets/tests/sdc_user.test.js +0 -20
  74. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/consumers.py +0 -0
  75. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/init_add/add_model_manager.py +0 -0
  76. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_get_controller_url.py +0 -0
  77. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_get_model_infos.py +0 -0
  78. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_is_installed.py +0 -0
  79. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_shell_execute_script.py +0 -0
  80. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/management/commands/sdc_update_links.py +0 -0
  81. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/__init__.py +0 -0
  82. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/sdc_extentions/models.py +0 -0
  83. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/Assets/.babelrc +0 -0
  84. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/Assets/src/index.style.scss +0 -0
  85. {simpledomcontrol-0.4.10/sdc_core/template_files/Assets/tests → simpledomcontrol-0.4.12/sdc_core/template_files/Assets/tests/config}/post-test-teardown.js +0 -0
  86. {simpledomcontrol-0.4.10/sdc_core/template_files/Assets/tests → simpledomcontrol-0.4.12/sdc_core/template_files/Assets/tests/config}/test-setup.js +0 -0
  87. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/Assets/webpack.config/webpack.production.config.jsx +0 -0
  88. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/controller/template_test.js.text +0 -0
  89. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/js_test.js.txt +0 -0
  90. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/models/detail.html +0 -0
  91. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_core/template_files/models/list.html +0 -0
  92. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.js +0 -0
  93. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.scss +0 -0
  94. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_auto_submit/sdc_auto_submit.js +0 -0
  95. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.js +0 -0
  96. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.scss +0 -0
  97. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.js +0 -0
  98. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.scss +0 -0
  99. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.js +0 -0
  100. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.scss +0 -0
  101. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.js +0 -0
  102. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.scss +0 -0
  103. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.js +0 -0
  104. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.scss +0 -0
  105. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigation_client/sdc_navigation_client.js +0 -0
  106. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.scss +0 -0
  107. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.js +0 -0
  108. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.scss +0 -0
  109. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/controller/sdc_update_on_change/sdc_update_on_change.js +0 -0
  110. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/sdc_tools.organizer.js +0 -0
  111. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/src/sdc_tools/sdc_tools.style.scss +0 -0
  112. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/Assets/tests/sdc_tools.test.js +0 -0
  113. {simpledomcontrol-0.4.10/sdc_user → simpledomcontrol-0.4.12/sdc_tools}/admin.py +0 -0
  114. {simpledomcontrol-0.4.10/sdc_user → simpledomcontrol-0.4.12/sdc_tools}/models.py +0 -0
  115. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/sdc_urls.py +0 -0
  116. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/sdc_views.py +0 -0
  117. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/dummy_sdc.html +0 -0
  118. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_alert_messenger.html +0 -0
  119. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_detail_view.html +0 -0
  120. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_dummy.html +0 -0
  121. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_error.html +0 -0
  122. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_list_view.html +0 -0
  123. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_model_form.html +0 -0
  124. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_tools/templates/sdc_tools/sdc/sdc_search_view.html +0 -0
  125. {simpledomcontrol-0.4.10/sdc_user → simpledomcontrol-0.4.12/sdc_tools}/tests.py +0 -0
  126. {simpledomcontrol-0.4.10/sdc_user → simpledomcontrol-0.4.12/sdc_tools}/views.py +0 -0
  127. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.js +0 -0
  128. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.scss +0 -0
  129. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.js +0 -0
  130. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.scss +0 -0
  131. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/__init__.py +0 -0
  132. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/apps.py +0 -0
  133. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/migrations/__init__.py +0 -0
  134. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/templates/sdc_user/sdc/sdc_login.html +0 -0
  135. {simpledomcontrol-0.4.10 → simpledomcontrol-0.4.12}/sdc_user/templates/sdc_user/sdc/sdc_logout.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
- Name: simpledomcontrol
3
- Version: 0.4.10
2
+ Name: SimpleDomControl
3
+ Version: 0.4.12
4
4
  Summary: Simple DOM control -> a django MVC framework
5
5
  Home-page: https://github.com/StarmanMartin/sdc
6
6
  License: Apache-2.0
@@ -14,13 +14,14 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
17
18
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
18
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
- Requires-Dist: attrs (>=23.1.0,<24.0.0)
20
+ Requires-Dist: attrs (>=23.2.0,<24.0.0)
20
21
  Requires-Dist: channels (>=4.0.0,<5.0.0)
21
- Requires-Dist: channels-redis (>=4.1.0,<5.0.0)
22
- Requires-Dist: daphne (>=4.0.0,<5.0.0)
23
- Requires-Dist: django (>=5.0,<6.0)
22
+ Requires-Dist: channels-redis (>=4.2.0,<5.0.0)
23
+ Requires-Dist: daphne (>=4.1.0,<5.0.0)
24
+ Requires-Dist: django (>=5.0.3,<6.0.0)
24
25
  Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
25
26
  Requires-Dist: regex (>=2023.12.25,<2024.0.0)
26
27
  Description-Content-Type: text/markdown
@@ -1 +1 @@
1
- simpleDomControl
1
+ simpleDomControl
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "SimpleDomControl"
3
- version = "0.4.10"
3
+ version = "0.4.12"
4
4
  authors = [ "Martin Starman <private@martin-starman.com>", ]
5
5
  description = "Simple DOM control -> a django MVC framework"
6
6
  readme = "README.md"
@@ -19,12 +19,12 @@ homepage = "https://github.com/StarmanMartin/sdc"
19
19
 
20
20
  [tool.poetry.dependencies]
21
21
  python = "^3.10"
22
- daphne = "^4.0.0"
22
+ daphne = "^4.1.0"
23
23
  channels = "^4.0.0"
24
- channels-redis = "^4.1.0"
25
- django = "^5.0"
24
+ channels-redis = "^4.2.0"
25
+ django = "^5.0.3"
26
26
  psycopg2-binary = "^2.9.9"
27
- attrs = "^23.1.0"
27
+ attrs = "^23.2.0"
28
28
  regex = "^2023.12.25"
29
29
 
30
30
  [tool.pytest.ini_options]
@@ -1,25 +1,27 @@
1
- import os.path
2
-
3
- from django.apps import AppConfig
4
-
5
-
6
- class SdcCoreConfig(AppConfig):
7
- name = 'sdc_core'
8
- def ready(self):
9
- import sys
10
- from django.conf import settings
11
-
12
- if settings.DEBUG and os.path.exists('./Assets'):
13
- env_vars = {}
14
- if os.path.exists('./Assets/.sdc_env'):
15
- with open('./Assets/.sdc_env', 'r') as f_read:
16
- for line in f_read:
17
- if not line.startswith('#') and line.strip():
18
- key, value = line.strip().split('=', 1)
19
- env_vars[key] = value
20
- env_vars['PYTHON'] = f'"{sys.executable}"'
21
- env_vars['JSON_DATA_DUMP'] = env_vars.get('JSON_DATA_DUMP', f'"Assets/tests/dumps/test_data_dump.json"')
22
- env_vars['COPY_DEFAULT_DB'] = env_vars.get('COPY_DEFAULT_DB', "1 # 0 for false or 1 for true")
23
- env_vars['DB_PYTHON_SCRIPT'] = env_vars.get('DB_PYTHON_SCRIPT', "0 # Add path to pythonscript to prepare DB")
24
- with open('./Assets/.sdc_env', 'w+') as f:
25
- f.write('\n'.join([f'{x}={y}' for (x,y) in env_vars.items()]))
1
+ import os.path
2
+
3
+ from django.apps import AppConfig
4
+
5
+
6
+ class SdcCoreConfig(AppConfig):
7
+ name = 'sdc_core'
8
+ def ready(self):
9
+ import sys
10
+ from django.conf import settings
11
+
12
+ if settings.DEBUG and os.path.exists('./Assets'):
13
+ env_vars = {}
14
+ if os.path.exists('./Assets/.sdc_env'):
15
+ with open('./Assets/.sdc_env', 'r', encoding='utf8') as f_read:
16
+ for line in f_read:
17
+ if not line.startswith('#') and line.strip():
18
+ key, value = line.strip().split('=', 1)
19
+ env_vars[key] = value
20
+ env_vars['JSON_DATA_DUMP'] = env_vars.get('JSON_DATA_DUMP', f'"Assets/tests/dumps/test_data_dump.json"')
21
+ env_vars['COPY_DEFAULT_DB'] = env_vars.get('COPY_DEFAULT_DB', "1 # 0 for false or 1 for true")
22
+ env_vars['DB_PYTHON_SCRIPT'] = env_vars.get('DB_PYTHON_SCRIPT', "0 # Add path to pythonscript to prepare DB")
23
+ with open('./Assets/.sdc_env', 'w+', encoding='utf8') as f:
24
+ f.write('\n'.join([f'{x}={y}' for (x,y) in env_vars.items()]))
25
+
26
+ with open('./Assets/.sdc_python_env', 'w+', encoding='utf8') as f:
27
+ f.write(f'PYTHON="{sys.executable}"')
@@ -1,254 +1,254 @@
1
- import os
2
- import re
3
- import subprocess
4
- import sys
5
-
6
- from django.urls import get_resolver
7
-
8
- from sdc_core.management.commands.init_add import options
9
- from sdc_core.management.commands.init_add.utils import convert_to_snake_case, copy_and_prepare, \
10
- convert_to_camel_case, \
11
- convert_to_title_camel_case, convert_to_tag_name, prepare_as_string
12
-
13
-
14
- class AddControllerManager:
15
- def __init__(self, app_name: str, controller_name: str):
16
- self.app_name = app_name
17
- self.controller_name_sc = convert_to_snake_case(controller_name)
18
- self.controller_name_cc = convert_to_camel_case(controller_name)
19
- self.controller_name_tcc = convert_to_title_camel_case(controller_name)
20
- self.controller_name = controller_name
21
- self._template_url = None
22
-
23
- self.reps = {**options.REPLACEMENTS, **{'§CONTROLLERNAMETITLE§': self.controller_name_tcc,
24
- '§CONTROLLERNAMECC§': self.controller_name_cc,
25
- '§CONTROLLERNAMESC§': self.controller_name_sc,
26
- '§APPNAME§': self.app_name
27
- }}
28
-
29
- @staticmethod
30
- def check_controller_name(c_name_sc):
31
- url_name = "scd_view_" + c_name_sc
32
-
33
- for i in get_resolver().reverse_dict.keys():
34
- if str(i).endswith(url_name):
35
- return True
36
-
37
- return False
38
-
39
- @staticmethod
40
- def get_url(c_name_sc):
41
- url_name = "scd_view_" + c_name_sc
42
-
43
- for i in get_resolver().reverse_dict.keys():
44
- if str(i).endswith(url_name):
45
- url_to_sdc = "/" + get_resolver().reverse_dict[i][0][0][0]
46
- return url_to_sdc
47
- return ''
48
-
49
- def check_if_url_is_unique(self):
50
- return not self.check_controller_name(self.controller_name_sc)
51
-
52
- def get_template_url(self):
53
- if self._template_url is not None:
54
- return self._template_url
55
- cmd = '%s manage.py sdc_get_controller_url %s' % (sys.executable, self.controller_name_sc)
56
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, cwd=options.PROJECT_ROOT)
57
- out = str(p.communicate()[0], encoding="utf-8")
58
- out = re.sub(r'\\r?\\n.*$', r'', out)
59
- out = re.sub(r'\r?\n.*$', r'', out)
60
- self._template_url = re.sub(r'^b\'([^\']*)\'$', r'\g<1>', out)
61
- return self._template_url
62
-
63
- def get_template_url_sync(self):
64
- if self._template_url is not None:
65
- return self._template_url
66
- out = self.get_url(self.controller_name_sc)
67
- self._template_url = re.sub(r'^b\'([^\']*)\'$', r'\g<1>', out)
68
- return self._template_url
69
-
70
- def get_url_params(self):
71
- url = self.get_template_url()
72
- return re.findall('%\(([^)]+)\)\w', url)
73
-
74
- def get_params_as_string(self):
75
- params_list = self.get_url_params()
76
- if len(params_list) > 0:
77
- return ', ' + ', '.join(params_list)
78
- return ''
79
-
80
- def add_url_to_url_pattern(self, main_urls_path):
81
- urls_path = os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py")
82
-
83
- if not os.path.exists(urls_path):
84
- copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "sdc_urls.py.txt"),
85
- os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py"),
86
- self.reps)
87
-
88
- copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "sdc_views.py.txt"),
89
- os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"),
90
- self.reps)
91
-
92
- copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "js_test.js.txt"),
93
- os.path.join(options.PROJECT_ROOT, self.app_name, 'Assets/tests',
94
- f"{self.app_name}.test.js"),
95
- self.reps)
96
-
97
- self._add_new_sdc_to_main_urls(main_urls_path)
98
-
99
- self._add_sdc_views_to_main_urls(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py"))
100
-
101
- def _add_new_sdc_to_main_urls(self, main_urls_path):
102
- return self._add_to_urls(main_urls_path, "sdc_view/%s/" % self.app_name,
103
- "include('%s.sdc_urls')" % self.app_name)
104
-
105
- def _add_sdc_views_to_main_urls(self, main_urls_path):
106
- return self._add_to_urls(main_urls_path, self.controller_name_sc,
107
- "sdc_views.%s.as_view(), name='scd_view_%s'" % (
108
- self.controller_name_tcc, self.controller_name_sc))
109
-
110
- def add_view_class_to_sdc_views(self):
111
- fin = open(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"), "at", encoding='utf-8')
112
- fin.write(
113
- "\n\nclass %s(SDCView):\n%stemplate_name='%s/sdc/%s.html'\n" % (
114
- self.controller_name_tcc, options.SEP, self.app_name, self.controller_name_sc))
115
- fin.close()
116
- fin = open(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"), "at", encoding='utf-8')
117
-
118
- fin.write(
119
- "\n%sdef get_content(self, request%s, *args, **kwargs):\n%sreturn render(request, self.template_name)" % (
120
- options.SEP, self.get_params_as_string(), options.SEP * 2))
121
- fin.close()
122
-
123
- def prepare_files(self):
124
- main_static = os.path.join(
125
- options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name, 'controller', self.controller_name_sc)
126
- main_templates = os.path.join(options.PROJECT_ROOT, self.app_name, "templates", self.app_name)
127
- self.reps['§TEMPLATEURL§'] = self.get_template_url()
128
- self.reps['§TAGNAME§'] = self.prepare_tag_name()
129
- self.reps['§TAG§'] = convert_to_tag_name(self.controller_name_cc)
130
-
131
- copy_and_prepare(
132
- os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_controller.js.txt"),
133
- os.path.join(main_static, self.controller_name_sc + ".js"),
134
- self.reps)
135
-
136
- copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_css.scss"),
137
- os.path.join(main_static,
138
- self.controller_name_sc + ".scss"),
139
- self.reps)
140
-
141
- copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "templade_view.html"),
142
- os.path.join(main_templates, "sdc",
143
- self.controller_name_sc + ".html"),
144
- self.reps)
145
-
146
- def add_to_organizer(self, add_css=True):
147
- org_js_file_path = os.path.join(options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name,
148
- "%s.organizer.js" % self.app_name)
149
- org_style_file_path = os.path.join(options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name,
150
- "%s.style.scss" % self.app_name)
151
-
152
- if not os.path.exists(org_js_file_path):
153
- org_file_path_root = os.path.join(options.PROJECT_ROOT, "Assets/src",
154
- "index.organizer.js")
155
- line = 'import {} from "./%s/%s.organizer.js";\n' % (self.app_name, self.app_name)
156
-
157
- self._add_js_to_src(org_file_path_root, line)
158
-
159
- if add_css:
160
- if not os.path.exists(org_style_file_path):
161
- org_file_path_root = os.path.join(options.PROJECT_ROOT, "Assets/src",
162
- "index.style.scss")
163
- line = '@import "./%s/%s.style.scss";\n' % (self.app_name, self.app_name)
164
-
165
- self._add_scss_to_src(org_file_path_root, line)
166
-
167
- line = '@import "./controller/%s/%s.scss";\n' % (self.controller_name_sc, self.controller_name_sc)
168
- self._add_scss_to_src(org_style_file_path, line)
169
-
170
- line = 'import {} from "./controller/%s/%s.js";\n' % (self.controller_name_sc, self.controller_name_sc)
171
- self._add_js_to_src(org_js_file_path, line)
172
-
173
- def add_js_test(self):
174
- text = prepare_as_string(
175
- os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_test.js.text"), self.reps)
176
- fp = os.path.join(options.PROJECT_ROOT, self.app_name, 'Assets/tests', f"{self.app_name}.test.js")
177
- fout = open(fp, "a", encoding='utf-8')
178
- fout.write(text)
179
- fout.close()
180
-
181
- @staticmethod
182
- def _add_js_to_src(org_file_path, new_line):
183
- text = new_line
184
- if not os.path.exists(org_file_path):
185
- fin = open(org_file_path, 'x', encoding='utf-8')
186
- else:
187
- fin = open(org_file_path, 'r', encoding='utf-8')
188
-
189
- for line in fin:
190
- text += line
191
-
192
- fin.close()
193
-
194
- fout = open(org_file_path, "w+", encoding='utf-8')
195
- fout.write(text)
196
- fout.close()
197
-
198
- @staticmethod
199
- def _add_scss_to_src(org_file_path, new_line):
200
-
201
- if not os.path.exists(org_file_path):
202
- fin = open(org_file_path, 'x', encoding='utf-8')
203
- text = new_line
204
- else:
205
- fin = open(org_file_path, 'r', encoding='utf-8')
206
- text = ''
207
- added = False
208
- for line in fin:
209
- if not line.startswith('@import') and not added:
210
- text += "%s" % new_line
211
- added = True
212
- text += line
213
- if not added:
214
- text += "%s" % new_line
215
-
216
- fin.close()
217
-
218
- fout = open(org_file_path, "w+", encoding='utf-8')
219
- fout.write(text)
220
- fout.close()
221
-
222
- @staticmethod
223
- def _add_to_urls(main_urls_path, url_path, handler):
224
- fin = open(main_urls_path, "r+", encoding='utf-8')
225
- text = ""
226
- is_done = False
227
-
228
- for line in fin:
229
- if not is_done and "# scd view below" in line:
230
- line += "%spath('%s', %s),\n" % (options.SEP, url_path.lower(), handler)
231
- is_done = True
232
- text += line
233
-
234
- fin.close()
235
- if not is_done:
236
- print(options.CMD_COLORS.as_warning("Do not forgett to add:"))
237
- print(options.CMD_COLORS.as_important(
238
- "%spath('%s', %s),\n # scd view below\n]" % (options.SEP, url_path.lower(), handler)))
239
- print(options.CMD_COLORS.as_warning("to: %s " % main_urls_path))
240
-
241
- fout = open(main_urls_path, "w+", encoding='utf-8')
242
- fout.write(text)
243
- fout.close()
244
-
245
- def prepare_tag_name(self):
246
- tag_name = convert_to_tag_name(self.controller_name_cc)
247
- param_list = []
248
- for x in self.get_url_params():
249
- param_list.append(convert_to_tag_name(x) + '=""')
250
- param_data_str = ""
251
- if len(param_list) > 0:
252
- param_data_str = " data-"
253
- param_data_str += param_data_str.join(param_list)
254
- return "<%s%s></%s>" % (tag_name, param_data_str, tag_name)
1
+ import os
2
+ import re
3
+ import subprocess
4
+ import sys
5
+
6
+ from django.urls import get_resolver
7
+
8
+ from sdc_core.management.commands.init_add import options
9
+ from sdc_core.management.commands.init_add.utils import convert_to_snake_case, copy_and_prepare, \
10
+ convert_to_camel_case, \
11
+ convert_to_title_camel_case, convert_to_tag_name, prepare_as_string
12
+
13
+
14
+ class AddControllerManager:
15
+ def __init__(self, app_name: str, controller_name: str):
16
+ self.app_name = app_name
17
+ self.controller_name_sc = convert_to_snake_case(controller_name)
18
+ self.controller_name_cc = convert_to_camel_case(controller_name)
19
+ self.controller_name_tcc = convert_to_title_camel_case(controller_name)
20
+ self.controller_name = controller_name
21
+ self._template_url = None
22
+
23
+ self.reps = {**options.REPLACEMENTS, **{'§CONTROLLERNAMETITLE§': self.controller_name_tcc,
24
+ '§CONTROLLERNAMECC§': self.controller_name_cc,
25
+ '§CONTROLLERNAMESC§': self.controller_name_sc,
26
+ '§APPNAME§': self.app_name
27
+ }}
28
+
29
+ @staticmethod
30
+ def check_controller_name(c_name_sc):
31
+ url_name = "scd_view_" + c_name_sc
32
+
33
+ for i in get_resolver().reverse_dict.keys():
34
+ if str(i).endswith(url_name):
35
+ return True
36
+
37
+ return False
38
+
39
+ @staticmethod
40
+ def get_url(c_name_sc):
41
+ url_name = "scd_view_" + c_name_sc
42
+
43
+ for i in get_resolver().reverse_dict.keys():
44
+ if str(i).endswith(url_name):
45
+ url_to_sdc = "/" + get_resolver().reverse_dict[i][0][0][0]
46
+ return url_to_sdc
47
+ return ''
48
+
49
+ def check_if_url_is_unique(self):
50
+ return not self.check_controller_name(self.controller_name_sc)
51
+
52
+ def get_template_url(self):
53
+ if self._template_url is not None:
54
+ return self._template_url
55
+ cmd = '%s manage.py sdc_get_controller_url %s' % (sys.executable, self.controller_name_sc)
56
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, cwd=options.PROJECT_ROOT)
57
+ out = str(p.communicate()[0], encoding="utf-8")
58
+ out = re.sub(r'\\r?\\n.*$', r'', out)
59
+ out = re.sub(r'\r?\n.*$', r'', out)
60
+ self._template_url = re.sub(r'^b\'([^\']*)\'$', r'\g<1>', out)
61
+ return self._template_url
62
+
63
+ def get_template_url_sync(self):
64
+ if self._template_url is not None:
65
+ return self._template_url
66
+ out = self.get_url(self.controller_name_sc)
67
+ self._template_url = re.sub(r'^b\'([^\']*)\'$', r'\g<1>', out)
68
+ return self._template_url
69
+
70
+ def get_url_params(self):
71
+ url = self.get_template_url()
72
+ return re.findall('%\(([^)]+)\)\w', url)
73
+
74
+ def get_params_as_string(self):
75
+ params_list = self.get_url_params()
76
+ if len(params_list) > 0:
77
+ return ', ' + ', '.join(params_list)
78
+ return ''
79
+
80
+ def add_url_to_url_pattern(self, main_urls_path):
81
+ urls_path = os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py")
82
+
83
+ if not os.path.exists(urls_path):
84
+ copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "sdc_urls.py.txt"),
85
+ os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py"),
86
+ self.reps)
87
+
88
+ copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "sdc_views.py.txt"),
89
+ os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"),
90
+ self.reps)
91
+
92
+ copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "js_test.js.txt"),
93
+ os.path.join(options.PROJECT_ROOT, self.app_name, 'Assets/tests',
94
+ f"{self.app_name}.test.js"),
95
+ self.reps)
96
+
97
+ self._add_new_sdc_to_main_urls(main_urls_path)
98
+
99
+ self._add_sdc_views_to_main_urls(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_urls.py"))
100
+
101
+ def _add_new_sdc_to_main_urls(self, main_urls_path):
102
+ return self._add_to_urls(main_urls_path, "sdc_view/%s/" % self.app_name,
103
+ "include('%s.sdc_urls')" % self.app_name)
104
+
105
+ def _add_sdc_views_to_main_urls(self, main_urls_path):
106
+ return self._add_to_urls(main_urls_path, self.controller_name_sc,
107
+ "sdc_views.%s.as_view(), name='scd_view_%s'" % (
108
+ self.controller_name_tcc, self.controller_name_sc))
109
+
110
+ def add_view_class_to_sdc_views(self):
111
+ fin = open(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"), "at", encoding='utf-8')
112
+ fin.write(
113
+ "\n\nclass %s(SDCView):\n%stemplate_name='%s/sdc/%s.html'\n" % (
114
+ self.controller_name_tcc, options.SEP, self.app_name, self.controller_name_sc))
115
+ fin.close()
116
+ fin = open(os.path.join(options.PROJECT_ROOT, self.app_name, "sdc_views.py"), "at", encoding='utf-8')
117
+
118
+ fin.write(
119
+ "\n%sdef get_content(self, request%s, *args, **kwargs):\n%sreturn render(request, self.template_name)" % (
120
+ options.SEP, self.get_params_as_string(), options.SEP * 2))
121
+ fin.close()
122
+
123
+ def prepare_files(self):
124
+ main_static = os.path.join(
125
+ options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name, 'controller', self.controller_name_sc)
126
+ main_templates = os.path.join(options.PROJECT_ROOT, self.app_name, "templates", self.app_name)
127
+ self.reps['§TEMPLATEURL§'] = self.get_template_url()
128
+ self.reps['§TAGNAME§'] = self.prepare_tag_name()
129
+ self.reps['§TAG§'] = convert_to_tag_name(self.controller_name_cc)
130
+
131
+ copy_and_prepare(
132
+ os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_controller.js.txt"),
133
+ os.path.join(main_static, self.controller_name_sc + ".js"),
134
+ self.reps)
135
+
136
+ copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_css.scss"),
137
+ os.path.join(main_static,
138
+ self.controller_name_sc + ".scss"),
139
+ self.reps)
140
+
141
+ copy_and_prepare(os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "templade_view.html"),
142
+ os.path.join(main_templates, "sdc",
143
+ self.controller_name_sc + ".html"),
144
+ self.reps)
145
+
146
+ def add_to_organizer(self, add_css=True):
147
+ org_js_file_path = os.path.join(options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name,
148
+ "%s.organizer.js" % self.app_name)
149
+ org_style_file_path = os.path.join(options.PROJECT_ROOT, self.app_name, "Assets/src", self.app_name,
150
+ "%s.style.scss" % self.app_name)
151
+
152
+ if not os.path.exists(org_js_file_path):
153
+ org_file_path_root = os.path.join(options.PROJECT_ROOT, "Assets/src",
154
+ "index.organizer.js")
155
+ line = 'import {} from "./%s/%s.organizer.js";\n' % (self.app_name, self.app_name)
156
+
157
+ self._add_js_to_src(org_file_path_root, line)
158
+
159
+ if add_css:
160
+ if not os.path.exists(org_style_file_path):
161
+ org_file_path_root = os.path.join(options.PROJECT_ROOT, "Assets/src",
162
+ "index.style.scss")
163
+ line = '@import "./%s/%s.style.scss";\n' % (self.app_name, self.app_name)
164
+
165
+ self._add_scss_to_src(org_file_path_root, line)
166
+
167
+ line = '@import "./controller/%s/%s.scss";\n' % (self.controller_name_sc, self.controller_name_sc)
168
+ self._add_scss_to_src(org_style_file_path, line)
169
+
170
+ line = 'import {} from "./controller/%s/%s.js";\n' % (self.controller_name_sc, self.controller_name_sc)
171
+ self._add_js_to_src(org_js_file_path, line)
172
+
173
+ def add_js_test(self):
174
+ text = prepare_as_string(
175
+ os.path.join(options.SCRIPT_ROOT, "template_files", "controller", "template_test.js.text"), self.reps)
176
+ fp = os.path.join(options.PROJECT_ROOT, self.app_name, 'Assets/tests', f"{self.app_name}.test.js")
177
+ fout = open(fp, "a", encoding='utf-8')
178
+ fout.write(text)
179
+ fout.close()
180
+
181
+ @staticmethod
182
+ def _add_js_to_src(org_file_path, new_line):
183
+ text = new_line
184
+ if not os.path.exists(org_file_path):
185
+ fin = open(org_file_path, 'x', encoding='utf-8')
186
+ else:
187
+ fin = open(org_file_path, 'r', encoding='utf-8')
188
+
189
+ for line in fin:
190
+ text += line
191
+
192
+ fin.close()
193
+
194
+ fout = open(org_file_path, "w+", encoding='utf-8')
195
+ fout.write(text)
196
+ fout.close()
197
+
198
+ @staticmethod
199
+ def _add_scss_to_src(org_file_path, new_line):
200
+
201
+ if not os.path.exists(org_file_path):
202
+ fin = open(org_file_path, 'x', encoding='utf-8')
203
+ text = new_line
204
+ else:
205
+ fin = open(org_file_path, 'r', encoding='utf-8')
206
+ text = ''
207
+ added = False
208
+ for line in fin:
209
+ if not line.startswith('@import') and not added:
210
+ text += "%s" % new_line
211
+ added = True
212
+ text += line
213
+ if not added:
214
+ text += "%s" % new_line
215
+
216
+ fin.close()
217
+
218
+ fout = open(org_file_path, "w+", encoding='utf-8')
219
+ fout.write(text)
220
+ fout.close()
221
+
222
+ @staticmethod
223
+ def _add_to_urls(main_urls_path, url_path, handler):
224
+ fin = open(main_urls_path, "r+", encoding='utf-8')
225
+ text = ""
226
+ is_done = False
227
+
228
+ for line in fin:
229
+ if not is_done and "# scd view below" in line:
230
+ line += "%spath('%s', %s),\n" % (options.SEP, url_path.lower(), handler)
231
+ is_done = True
232
+ text += line
233
+
234
+ fin.close()
235
+ if not is_done:
236
+ print(options.CMD_COLORS.as_warning("Do not forgett to add:"))
237
+ print(options.CMD_COLORS.as_important(
238
+ "%spath('%s', %s),\n # scd view below\n]" % (options.SEP, url_path.lower(), handler)))
239
+ print(options.CMD_COLORS.as_warning("to: %s " % main_urls_path))
240
+
241
+ fout = open(main_urls_path, "w+", encoding='utf-8')
242
+ fout.write(text)
243
+ fout.close()
244
+
245
+ def prepare_tag_name(self):
246
+ tag_name = convert_to_tag_name(self.controller_name_cc)
247
+ param_list = []
248
+ for x in self.get_url_params():
249
+ param_list.append(convert_to_tag_name(x) + '=""')
250
+ param_data_str = ""
251
+ if len(param_list) > 0:
252
+ param_data_str = " data-"
253
+ param_data_str += param_data_str.join(param_list)
254
+ return "<%s%s></%s>" % (tag_name, param_data_str, tag_name)