cherrypy-foundation 1.0.0a5__tar.gz → 1.0.0a7__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 (139) hide show
  1. {cherrypy_foundation-1.0.0a5/src/cherrypy_foundation.egg-info → cherrypy_foundation-1.0.0a7}/PKG-INFO +1 -1
  2. cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/components/Flash.jinja +13 -0
  3. cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/tests/templates/test_flash.html +8 -0
  4. cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/tests/test_flash.py +62 -0
  5. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/test_url.py +0 -4
  6. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/url.py +2 -8
  7. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7/src/cherrypy_foundation.egg-info}/PKG-INFO +1 -1
  8. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation.egg-info/SOURCES.txt +3 -0
  9. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/.gitignore +0 -0
  10. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/.gitlab-ci.yml +0 -0
  11. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/LICENSE.md +0 -0
  12. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/README.md +0 -0
  13. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/pyproject.toml +0 -0
  14. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/setup.cfg +0 -0
  15. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/sonar-project.properties +0 -0
  16. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/__init__.py +0 -0
  17. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/ColorModes.jinja +0 -0
  18. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Datatable.css +0 -0
  19. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Datatable.jinja +0 -0
  20. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Datatable.js +0 -0
  21. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Field.css +0 -0
  22. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Field.jinja +0 -0
  23. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Field.js +0 -0
  24. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Fields.jinja +0 -0
  25. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Icon.jinja +0 -0
  26. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/SideBySideMultiSelect.css +0 -0
  27. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/SideBySideMultiSelect.jinja +0 -0
  28. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/SideBySideMultiSelect.js +0 -0
  29. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Typeahead.css +0 -0
  30. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Typeahead.jinja +0 -0
  31. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/Typeahead.js +0 -0
  32. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/__init__.py +0 -0
  33. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/tests/__init__.py +0 -0
  34. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/tests/test_static.py +0 -0
  35. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
  36. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.min.css +0 -0
  37. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  38. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  39. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css +0 -0
  40. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css.map +0 -0
  41. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css +0 -0
  42. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css.map +0 -0
  43. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js +0 -0
  44. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js.map +0 -0
  45. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js +0 -0
  46. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js.map +0 -0
  47. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/bootstrap5/js/color-modes.js +0 -0
  48. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.css +0 -0
  49. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.min.css +0 -0
  50. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/images/sort_asc.png +0 -0
  51. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/images/sort_asc_disabled.png +0 -0
  52. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/images/sort_both.png +0 -0
  53. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/images/sort_desc.png +0 -0
  54. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/images/sort_desc_disabled.png +0 -0
  55. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/js/dataTables.js +0 -0
  56. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables/js/dataTables.min.js +0 -0
  57. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.css +0 -0
  58. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.min.css +0 -0
  59. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.js +0 -0
  60. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.min.js +0 -0
  61. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.js +0 -0
  62. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.min.js +0 -0
  63. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.css +0 -0
  64. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.min.css +0 -0
  65. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.js +0 -0
  66. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.min.js +0 -0
  67. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.js +0 -0
  68. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.min.js +0 -0
  69. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.css +0 -0
  70. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.min.css +0 -0
  71. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.js +0 -0
  72. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.min.js +0 -0
  73. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.js +0 -0
  74. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.min.js +0 -0
  75. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/vfs_fonts.js +0 -0
  76. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.css +0 -0
  77. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.min.css +0 -0
  78. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.js +0 -0
  79. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.min.js +0 -0
  80. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/jquery/jquery.min.js +0 -0
  81. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/multi/LICENSE +0 -0
  82. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/multi/README.md +0 -0
  83. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/multi/multi.css +0 -0
  84. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/multi/multi.js +0 -0
  85. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/popper/popper.js +0 -0
  86. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/popper/popper.min.js +0 -0
  87. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.css +0 -0
  88. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.js +0 -0
  89. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/error_page.py +0 -0
  90. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/flash.py +0 -0
  91. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/form.py +0 -0
  92. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/logging.py +0 -0
  93. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/passwd.py +0 -0
  94. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/__init__.py +0 -0
  95. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/db.py +0 -0
  96. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/ldap.py +0 -0
  97. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/restapi.py +0 -0
  98. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/scheduler.py +0 -0
  99. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/smtp.py +0 -0
  100. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/tests/__init__.py +0 -0
  101. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/tests/test_db.py +0 -0
  102. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/tests/test_ldap.py +0 -0
  103. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/tests/test_scheduler.py +0 -0
  104. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/plugins/tests/test_smtp.py +0 -0
  105. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/__init__.py +0 -0
  106. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/templates/test_form.html +0 -0
  107. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/templates/test_url.html +0 -0
  108. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/test_error_page.py +0 -0
  109. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/test_form.py +0 -0
  110. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tests/test_passwd.py +0 -0
  111. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/__init__.py +0 -0
  112. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/auth.py +0 -0
  113. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/auth_mfa.py +0 -0
  114. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/errors.py +0 -0
  115. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/i18n.py +0 -0
  116. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/jinja2.py +0 -0
  117. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/ratelimit.py +0 -0
  118. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/secure_headers.py +0 -0
  119. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/sessions_timeout.py +0 -0
  120. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/__init__.py +0 -0
  121. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/components/Button.jinja +0 -0
  122. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/locales/en/LC_MESSAGES/messages.mo +0 -0
  123. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/locales/en/LC_MESSAGES/messages.po +0 -0
  124. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.mo +0 -0
  125. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.po +0 -0
  126. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/locales/messages.pot +0 -0
  127. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/templates/test_jinja2.html +0 -0
  128. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/templates/test_jinja2_i18n.html +0 -0
  129. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/templates/test_jinjax.html +0 -0
  130. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/test_auth.py +0 -0
  131. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/test_auth_mfa.py +0 -0
  132. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/test_i18n.py +0 -0
  133. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/test_jinja2.py +0 -0
  134. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/tools/tests/test_ratelimit.py +0 -0
  135. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation/widgets.py +0 -0
  136. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation.egg-info/dependency_links.txt +0 -0
  137. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation.egg-info/requires.txt +0 -0
  138. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/src/cherrypy_foundation.egg-info/top_level.txt +0 -0
  139. {cherrypy_foundation-1.0.0a5 → cherrypy_foundation-1.0.0a7}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cherrypy-foundation
3
- Version: 1.0.0a5
3
+ Version: 1.0.0a7
4
4
  Summary: CherryPy Foundation
5
5
  Author-email: Patrik Dufresne <patrik@ikus-soft.com>
6
6
  License: GPLv3
@@ -0,0 +1,13 @@
1
+ {# def messages, floating=False #}
2
+ <div {{ attrs.render(class="flash-messages") }}>
3
+ {% for message, level in messages %}
4
+ <div class="alert alert-{{'danger' if level == 'error' else level }} alert-dismissible fade show"
5
+ role="alert">
6
+ {{ message }}
7
+ <button type="button"
8
+ class="btn-close"
9
+ data-bs-dismiss="alert"
10
+ aria-label="Close"></button>
11
+ </div>
12
+ {% endfor %}
13
+ </div>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>test-flash</title>
4
+ </head>
5
+ <body>
6
+ <Flash messages={{ get_flashed_messages() }} class="mb-2" style="min-height:100px"/>
7
+ </body>
8
+ </html>
@@ -0,0 +1,62 @@
1
+ # CherryPy Foundation
2
+ # Copyright (C) 2025 IKUS Software
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
16
+ import importlib
17
+ from unittest import skipUnless
18
+
19
+ import cherrypy
20
+ from cherrypy.test import helper
21
+
22
+ import cherrypy_foundation.tools.jinja2 # noqa
23
+ from cherrypy_foundation.flash import flash, get_flashed_messages
24
+
25
+ HAS_JINJAX = importlib.util.find_spec("jinjax") is not None
26
+
27
+ env = cherrypy.tools.jinja2.create_env(
28
+ package_name=__package__,
29
+ globals={'get_flashed_messages': get_flashed_messages},
30
+ )
31
+
32
+
33
+ @cherrypy.tools.sessions()
34
+ @cherrypy.tools.jinja2(env=env)
35
+ class Root:
36
+
37
+ @cherrypy.expose
38
+ @cherrypy.tools.jinja2(template='test_flash.html')
39
+ def index(self):
40
+ flash('default flash message', level='info')
41
+ return {}
42
+
43
+
44
+ @skipUnless(HAS_JINJAX, reason='Required jinjax')
45
+ class FormTest(helper.CPWebCase):
46
+ default_lang = None
47
+ interactive = False
48
+
49
+ @classmethod
50
+ def setup_server(cls):
51
+ cherrypy.tree.mount(Root(), '/')
52
+
53
+ def test_get_flash(self):
54
+ # Given a page returning a flash message
55
+ # When querying the page that include this form
56
+ self.getPage("/")
57
+ self.assertStatus(200)
58
+ # Then page display the message.
59
+ self.assertInBody('test-flash')
60
+ self.assertInBody('<div class="mb-2 flash-messages" style="min-height:100px">')
61
+ self.assertInBody('<div class="alert alert-info alert-dismissible fade show"')
62
+ self.assertInBody('default flash message')
@@ -74,10 +74,6 @@ class UrlTest(helper.CPWebCase):
74
74
  # Outside a request, relative url doesn't make alot of sens.
75
75
  self.assertEqual(url_for("foo", "bar", _relative=1), '127.0.0.1:54583/foo/bar')
76
76
  self.assertEqual(url_for("foo", "bar", _base='http://test.com'), 'http://test.com/foo/bar')
77
- self.assertEqual(
78
- url_for("mailto:myuser@test.com", subject='Enter you subject', _base=''),
79
- 'mailto:myuser@test.com?subject=Enter%20you%20subject',
80
- )
81
77
 
82
78
  def test_get_page(self):
83
79
  # Given a form
@@ -14,7 +14,7 @@
14
14
  # You should have received a copy of the GNU General Public License
15
15
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
16
16
 
17
- from urllib.parse import quote, urlencode, urljoin
17
+ from urllib.parse import urljoin
18
18
 
19
19
  import cherrypy
20
20
 
@@ -64,10 +64,4 @@ def url_for(*args, _relative=None, _base=None, **kwargs):
64
64
  if _base is None:
65
65
  _base = cherrypy.config.get('tools.proxy.base', None)
66
66
  # Use cherrypy to build the URL
67
- url = cherrypy.url(path=path, relative=_relative, base=_base)
68
- # Append the query string
69
- if qs and url.startswith('mailto:'):
70
- return url + '?' + urlencode(qs, quote_via=quote)
71
- elif qs:
72
- return url + '?' + urlencode(qs)
73
- return url
67
+ return cherrypy.url(path=path, qs=qs, relative=_relative, base=_base)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cherrypy-foundation
3
- Version: 1.0.0a5
3
+ Version: 1.0.0a7
4
4
  Summary: CherryPy Foundation
5
5
  Author-email: Patrik Dufresne <patrik@ikus-soft.com>
6
6
  License: GPLv3
@@ -26,6 +26,7 @@ src/cherrypy_foundation/components/Field.css
26
26
  src/cherrypy_foundation/components/Field.jinja
27
27
  src/cherrypy_foundation/components/Field.js
28
28
  src/cherrypy_foundation/components/Fields.jinja
29
+ src/cherrypy_foundation/components/Flash.jinja
29
30
  src/cherrypy_foundation/components/Icon.jinja
30
31
  src/cherrypy_foundation/components/SideBySideMultiSelect.css
31
32
  src/cherrypy_foundation/components/SideBySideMultiSelect.jinja
@@ -103,9 +104,11 @@ src/cherrypy_foundation/plugins/tests/test_scheduler.py
103
104
  src/cherrypy_foundation/plugins/tests/test_smtp.py
104
105
  src/cherrypy_foundation/tests/__init__.py
105
106
  src/cherrypy_foundation/tests/test_error_page.py
107
+ src/cherrypy_foundation/tests/test_flash.py
106
108
  src/cherrypy_foundation/tests/test_form.py
107
109
  src/cherrypy_foundation/tests/test_passwd.py
108
110
  src/cherrypy_foundation/tests/test_url.py
111
+ src/cherrypy_foundation/tests/templates/test_flash.html
109
112
  src/cherrypy_foundation/tests/templates/test_form.html
110
113
  src/cherrypy_foundation/tests/templates/test_url.html
111
114
  src/cherrypy_foundation/tools/__init__.py