cherrypy-foundation 1.0.0a7__tar.gz → 1.0.0a8__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 (149) hide show
  1. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/.gitlab-ci.yml +23 -0
  2. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation.egg-info → cherrypy_foundation-1.0.0a8}/PKG-INFO +1 -1
  3. cherrypy_foundation-1.0.0a8/debian/TODO +1 -0
  4. cherrypy_foundation-1.0.0a8/debian/changelog +5 -0
  5. cherrypy_foundation-1.0.0a8/debian/control +61 -0
  6. cherrypy_foundation-1.0.0a8/debian/copyright +27 -0
  7. cherrypy_foundation-1.0.0a8/debian/python3-cherrypy-foundation.docs +1 -0
  8. cherrypy_foundation-1.0.0a8/debian/rules +23 -0
  9. cherrypy_foundation-1.0.0a8/debian/source/format +1 -0
  10. cherrypy_foundation-1.0.0a8/debian/source/options +25 -0
  11. cherrypy_foundation-1.0.0a8/debian/upstream/metadata +5 -0
  12. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/error_page.py +1 -1
  13. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/test_error_page.py +6 -0
  14. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/test_flash.py +0 -1
  15. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/test_form.py +4 -4
  16. cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/tools/tests/__init__.py +0 -0
  17. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation.egg-info}/PKG-INFO +1 -1
  18. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation.egg-info/SOURCES.txt +10 -0
  19. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/tox.ini +0 -1
  20. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/.gitignore +0 -0
  21. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/LICENSE.md +0 -0
  22. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/README.md +0 -0
  23. /cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/__init__.py → /cherrypy_foundation-1.0.0a8/debian/python3-cherrypy-foundation.links +0 -0
  24. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/pyproject.toml +0 -0
  25. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/setup.cfg +0 -0
  26. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/sonar-project.properties +0 -0
  27. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/components/tests → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation}/__init__.py +0 -0
  28. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/ColorModes.jinja +0 -0
  29. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Datatable.css +0 -0
  30. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Datatable.jinja +0 -0
  31. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Datatable.js +0 -0
  32. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Field.css +0 -0
  33. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Field.jinja +0 -0
  34. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Field.js +0 -0
  35. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Fields.jinja +0 -0
  36. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Flash.jinja +0 -0
  37. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Icon.jinja +0 -0
  38. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/SideBySideMultiSelect.css +0 -0
  39. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/SideBySideMultiSelect.jinja +0 -0
  40. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/SideBySideMultiSelect.js +0 -0
  41. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Typeahead.css +0 -0
  42. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Typeahead.jinja +0 -0
  43. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/Typeahead.js +0 -0
  44. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/__init__.py +0 -0
  45. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/plugins → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/components/tests}/__init__.py +0 -0
  46. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/tests/test_static.py +0 -0
  47. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
  48. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.min.css +0 -0
  49. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  50. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  51. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css +0 -0
  52. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css.map +0 -0
  53. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css +0 -0
  54. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css.map +0 -0
  55. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js +0 -0
  56. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js.map +0 -0
  57. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js +0 -0
  58. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js.map +0 -0
  59. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/bootstrap5/js/color-modes.js +0 -0
  60. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.css +0 -0
  61. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.min.css +0 -0
  62. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/images/sort_asc.png +0 -0
  63. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/images/sort_asc_disabled.png +0 -0
  64. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/images/sort_both.png +0 -0
  65. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/images/sort_desc.png +0 -0
  66. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/images/sort_desc_disabled.png +0 -0
  67. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/js/dataTables.js +0 -0
  68. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables/js/dataTables.min.js +0 -0
  69. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.css +0 -0
  70. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.min.css +0 -0
  71. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.js +0 -0
  72. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.min.js +0 -0
  73. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.js +0 -0
  74. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.min.js +0 -0
  75. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.css +0 -0
  76. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.min.css +0 -0
  77. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.js +0 -0
  78. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.min.js +0 -0
  79. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.js +0 -0
  80. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.min.js +0 -0
  81. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.css +0 -0
  82. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.min.css +0 -0
  83. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.js +0 -0
  84. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.min.js +0 -0
  85. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.js +0 -0
  86. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.min.js +0 -0
  87. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/vfs_fonts.js +0 -0
  88. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.css +0 -0
  89. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.min.css +0 -0
  90. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.js +0 -0
  91. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.min.js +0 -0
  92. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/jquery/jquery.min.js +0 -0
  93. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/multi/LICENSE +0 -0
  94. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/multi/README.md +0 -0
  95. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/multi/multi.css +0 -0
  96. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/multi/multi.js +0 -0
  97. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/popper/popper.js +0 -0
  98. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/popper/popper.min.js +0 -0
  99. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.css +0 -0
  100. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.js +0 -0
  101. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/flash.py +0 -0
  102. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/form.py +0 -0
  103. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/logging.py +0 -0
  104. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/passwd.py +0 -0
  105. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/plugins/tests → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/plugins}/__init__.py +0 -0
  106. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/db.py +0 -0
  107. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/ldap.py +0 -0
  108. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/restapi.py +0 -0
  109. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/scheduler.py +0 -0
  110. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/smtp.py +0 -0
  111. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/plugins}/tests/__init__.py +0 -0
  112. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/tests/test_db.py +0 -0
  113. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/tests/test_ldap.py +0 -0
  114. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/tests/test_scheduler.py +0 -0
  115. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/plugins/tests/test_smtp.py +0 -0
  116. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/tools → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/tests}/__init__.py +0 -0
  117. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/templates/test_flash.html +0 -0
  118. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/templates/test_form.html +0 -0
  119. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/templates/test_url.html +0 -0
  120. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/test_passwd.py +0 -0
  121. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tests/test_url.py +0 -0
  122. {cherrypy_foundation-1.0.0a7/src/cherrypy_foundation/tools/tests → cherrypy_foundation-1.0.0a8/src/cherrypy_foundation/tools}/__init__.py +0 -0
  123. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/auth.py +0 -0
  124. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/auth_mfa.py +0 -0
  125. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/errors.py +0 -0
  126. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/i18n.py +0 -0
  127. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/jinja2.py +0 -0
  128. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/ratelimit.py +0 -0
  129. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/secure_headers.py +0 -0
  130. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/sessions_timeout.py +0 -0
  131. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/components/Button.jinja +0 -0
  132. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/locales/en/LC_MESSAGES/messages.mo +0 -0
  133. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/locales/en/LC_MESSAGES/messages.po +0 -0
  134. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.mo +0 -0
  135. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.po +0 -0
  136. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/locales/messages.pot +0 -0
  137. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/templates/test_jinja2.html +0 -0
  138. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/templates/test_jinja2_i18n.html +0 -0
  139. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/templates/test_jinjax.html +0 -0
  140. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/test_auth.py +0 -0
  141. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/test_auth_mfa.py +0 -0
  142. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/test_i18n.py +0 -0
  143. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/test_jinja2.py +0 -0
  144. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/tools/tests/test_ratelimit.py +0 -0
  145. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/url.py +0 -0
  146. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation/widgets.py +0 -0
  147. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation.egg-info/dependency_links.txt +0 -0
  148. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation.egg-info/requires.txt +0 -0
  149. {cherrypy_foundation-1.0.0a7 → cherrypy_foundation-1.0.0a8}/src/cherrypy_foundation.egg-info/top_level.txt +0 -0
@@ -58,6 +58,29 @@ package:py3:
58
58
  - dist/*.tar.gz
59
59
  expire_in: 1 day
60
60
 
61
+ package:deb:
62
+ stage: package
63
+ needs: []
64
+ image: buildpack-deps:$DIST
65
+ parallel:
66
+ matrix:
67
+ - DIST: [trixie]
68
+ script: |
69
+ set -x
70
+ set -e
71
+ apt update
72
+ apt -y --no-install-recommends install devscripts lintian
73
+ apt build-dep -y .
74
+ export DEBEMAIL=$CI_COMMIT_AUTHOR
75
+ dch -v "$(python3 -m setuptools_scm)" "automated build"
76
+ dpkg-buildpackage -b
77
+ lintian
78
+ mkdir -p ./dist/$DIST
79
+ mv ../*.deb ./dist/$DIST/
80
+ artifacts:
81
+ paths:
82
+ - ./dist/*
83
+
61
84
  publish:sonar:
62
85
  allow_failure: true
63
86
  image: sonarsource/sonar-scanner-cli
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cherrypy-foundation
3
- Version: 1.0.0a7
3
+ Version: 1.0.0a8
4
4
  Summary: CherryPy Foundation
5
5
  Author-email: Patrik Dufresne <patrik@ikus-soft.com>
6
6
  License: GPLv3
@@ -0,0 +1 @@
1
+ symlink for all vendor files - bootstrap, jquery, etc.
@@ -0,0 +1,5 @@
1
+ cherrypy-foundation (1.0.0) unstable; urgency=medium
2
+
3
+ * Initial upload to debian.
4
+
5
+ -- Patrik Dufresne <patrik@ikus-soft.com> Tue, 09 Dec 2025 15:01:20 +0400
@@ -0,0 +1,61 @@
1
+ Source: cherrypy-foundation
2
+ Section: web
3
+ Priority: optional
4
+ Maintainer: Patrik Dufresne <patrik@ikus-soft.com>
5
+ Build-Depends:
6
+ chromium-driver,
7
+ debhelper-compat (= 13),
8
+ dh-python,
9
+ dh-sequence-python3,
10
+ pybuild-plugin-pyproject,
11
+ python3,
12
+ python3-all-dev,
13
+ python3-apscheduler,
14
+ python3-argon2,
15
+ python3-babel,
16
+ python3-cherrypy3,
17
+ python3-jinja2,
18
+ python3-jinjax,
19
+ python3-ldap3,
20
+ python3-oauthlib,
21
+ python3-parameterized,
22
+ python3-pip,
23
+ python3-pytest,
24
+ python3-requests,
25
+ python3-requests-oauthlib,
26
+ python3-responses,
27
+ python3-selenium,
28
+ python3-setuptools,
29
+ python3-setuptools-scm,
30
+ python3-sqlalchemy,
31
+ python3-tz,
32
+ python3-wtforms,
33
+ Rules-Requires-Root: no
34
+ Standards-Version: 4.7.0
35
+ Homepage: https://gitlab.com/ikus-soft/cherrypy-foundation
36
+ Vcs-Git: https://gitlab.com/ikus-soft/cherrypy-foundation.git
37
+ Vcs-Browser: https://gitlab.com/ikus-soft/cherrypy-foundation
38
+
39
+ Package: python3-cherrypy-foundation
40
+ Architecture: all
41
+ Depends:
42
+ libjs-bootstrap5,
43
+ libjs-jquery,
44
+ libjs-jquery-datatables,
45
+ libjs-jquery-datatables-extensions,
46
+ ${python3:Depends},
47
+ ${misc:Depends},
48
+ Suggests:
49
+ python3-apscheduler,
50
+ python3-argon2,
51
+ python3-jinja2,
52
+ python3-jinjax,
53
+ python3-ldap3,
54
+ python3-oauthlib,
55
+ python3-requests-oauthlib,
56
+ Description: Common utilities and integrations for building CherryPy web applications
57
+ This project provides a collection of reusable utilities that simplify
58
+ building web applications with CherryPy. It offers built-in integrations
59
+ with SQLAlchemy for database access, Jinja2 for templating, WTForms for
60
+ form handling, and Bootstrap for UI components, helping streamline
61
+ application development.
@@ -0,0 +1,27 @@
1
+ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2
+ Upstream-Name: cherrypy-foundation
3
+ Upstream-Contact: Patrik Dufresne <patrik@ikus-soft.com>
4
+ Source: https://gitlab.com/ikus-soft/cherrypy-foundation/-/tags
5
+ Files-Excluded:
6
+ src/cherrypy_foundation/components/vendor
7
+
8
+ Files: *
9
+ Copyright: 2019-2025 Patrik Dufresne <patrik@ikus-soft.com>
10
+ License: GPL-3+
11
+
12
+ License: GPL-3+
13
+ This program is free software: you can redistribute it and/or modify
14
+ it under the terms of the GNU General Public License as published by
15
+ the Free Software Foundation, either version 3 of the License, or
16
+ (at your option) any later version.
17
+ .
18
+ This program is distributed in the hope that it will be useful,
19
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ GNU General Public License for more details.
22
+ .
23
+ You should have received a copy of the GNU General Public License
24
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
25
+ .
26
+ The full text of the GNU General Public License version 3
27
+ can be found in the file /usr/share/common-licenses/GPL-3.
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/make -f
2
+
3
+ include /usr/share/dpkg/pkg-info.mk
4
+
5
+ export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_RDIFFWEB := $(DEB_VERSION_UPSTREAM)
6
+
7
+ # Force use of pyproject.toml
8
+ export PYBUILD_SYSTEM=pyproject
9
+
10
+ # For testing, we need a timezone
11
+ export TZ=UTC
12
+
13
+ %:
14
+ dh $@ --buildsystem=pybuild --test-tox
15
+
16
+ execute_before_dh_auto_clean:
17
+ rm -rf *.egg-info
18
+
19
+ # Generate orig.tar.gz
20
+ gentarball: SOURCE=cherrypy-foundation
21
+ gentarball:
22
+ git archive --format=tar HEAD --prefix=$(SOURCE)-$(DEB_VERSION_UPSTREAM)/ | gzip -9 > ../$(SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
23
+ mk-origtargz --compression gzip ../$(SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
@@ -0,0 +1 @@
1
+ 3.0 (quilt)
@@ -0,0 +1,25 @@
1
+ # Ignore excluded files in d/copyright
2
+ extend-diff-ignore = "extras"
3
+ extend-diff-ignore = "rdiffweb/static/css/bootstrap.min.css"
4
+ extend-diff-ignore = "rdiffweb/static/css/bootstrap.min.css.map"
5
+ extend-diff-ignore = "rdiffweb/static/css/font-awesome.css.map"
6
+ extend-diff-ignore = "rdiffweb/static/css/font-awesome.min.css"
7
+ extend-diff-ignore = "rdiffweb/static/css/jquery.dataTables.min.css"
8
+ extend-diff-ignore = "rdiffweb/static/css/responsive.dataTables.min.css"
9
+ extend-diff-ignore = "rdiffweb/static/fonts/fontawesome-webfont.eot"
10
+ extend-diff-ignore = "rdiffweb/static/fonts/fontawesome-webfont.svg"
11
+ extend-diff-ignore = "rdiffweb/static/fonts/fontawesome-webfont.woff"
12
+ extend-diff-ignore = "rdiffweb/static/fonts/fontawesome-webfont.woff2"
13
+ extend-diff-ignore = "rdiffweb/static/images/sort_asc.png"
14
+ extend-diff-ignore = "rdiffweb/static/images/sort_asc_disabled.png"
15
+ extend-diff-ignore = "rdiffweb/static/images/sort_both.png"
16
+ extend-diff-ignore = "rdiffweb/static/images/sort_desc.png"
17
+ extend-diff-ignore = "rdiffweb/static/images/sort_desc_disabled.png"
18
+ extend-diff-ignore = "rdiffweb/static/js/bootstrap.bundle.js.map"
19
+ extend-diff-ignore = "rdiffweb/static/js/bootstrap.bundle.min.js"
20
+ extend-diff-ignore = "rdiffweb/static/js/chartkick.min.js"
21
+ extend-diff-ignore = "rdiffweb/static/js/chart.min.js"
22
+ extend-diff-ignore = "rdiffweb/static/js/dataTables.buttons.min.js"
23
+ extend-diff-ignore = "rdiffweb/static/js/dataTables.responsive.min.js"
24
+ extend-diff-ignore = "rdiffweb/static/js/jquery.dataTables.min.js"
25
+ extend-diff-ignore = "rdiffweb/static/js/jquery.min.js"
@@ -0,0 +1,5 @@
1
+ Name: rdiffweb
2
+ Bug-Database: https://gitlab.com/ikus-soft/cherrypy-foundation/-/issues
3
+ Contact: https://gitlab.com/ikus-soft/cherrypy-foundation/-/project_members
4
+ Repository: git://git@gitlab.com:ikus-soft/cherrypy-foundation.git
5
+ Repository-Browse: https://gitlab.com/ikus-soft/cherrypy-foundation/
@@ -63,7 +63,7 @@ def error_page(status='', message='', traceback='', version=''):
63
63
  )
64
64
 
65
65
  # Replace message by generic one for 404. Default implementation leak path info.
66
- if status == '404 Not Found':
66
+ if status == '404 Not Found' and cherrypy.serving.request.path_info in message:
67
67
  message = 'Nothing matches the given URI'
68
68
 
69
69
  # Check expected response type.
@@ -29,6 +29,10 @@ class Root:
29
29
 
30
30
  @cherrypy.expose
31
31
  def not_found(self):
32
+ raise cherrypy.NotFound()
33
+
34
+ @cherrypy.expose
35
+ def not_found_custom(self):
32
36
  raise cherrypy.HTTPError(404, message='My error message')
33
37
 
34
38
  @cherrypy.expose
@@ -60,6 +64,8 @@ class ErrorPageTest(helper.CPWebCase):
60
64
 
61
65
  @parameterized.expand(
62
66
  [
67
+ ('/not_found', '<p>Nothing matches the given URI</p>'),
68
+ ('/not_found_custom', '<p>My error message</p>'),
63
69
  ('/html_error', '<p>My error message</p>'),
64
70
  ('/json_error', '{"message": "json error message", "status": "400 Bad Request"}'),
65
71
  ('/text_error', 'text error message'),
@@ -57,6 +57,5 @@ class FormTest(helper.CPWebCase):
57
57
  self.assertStatus(200)
58
58
  # Then page display the message.
59
59
  self.assertInBody('test-flash')
60
- self.assertInBody('<div class="mb-2 flash-messages" style="min-height:100px">')
61
60
  self.assertInBody('<div class="alert alert-info alert-dismissible fade show"')
62
61
  self.assertInBody('default flash message')
@@ -109,8 +109,8 @@ class FormTest(helper.CPWebCase):
109
109
  '<input class="form-check-input" container-class="col-sm-6" id="persistent" label-attr="FOO" name="persistent" type="checkbox" value="y">'
110
110
  )
111
111
  self.assertInBody('<label attr="FOO" class="form-check-label" for="persistent">Remember me</label>')
112
- # 5. check submit button
113
- self.assertInBody('<div attr="BAR" class="mb-2 form-field col-sm-6">')
114
- self.assertInBody(
115
- '<input class="btn-primary float-end btn" container-attr="BAR" container-class="col-sm-6" id="submit" name="submit" type="submit" value="Login">'
112
+ # 5. check submit button (regex matches because class could have different order with jinjax<=0.57)
113
+ self.assertInBody('<div attr="BAR"')
114
+ self.assertMatchesBody(
115
+ '<input class="(btn-primary ?|float-end ?|btn ?){3}" container-attr="BAR" container-class="col-sm-6" id="submit" name="submit" type="submit" value="Login">'
116
116
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cherrypy-foundation
3
- Version: 1.0.0a7
3
+ Version: 1.0.0a8
4
4
  Summary: CherryPy Foundation
5
5
  Author-email: Patrik Dufresne <patrik@ikus-soft.com>
6
6
  License: GPLv3
@@ -5,6 +5,16 @@ README.md
5
5
  pyproject.toml
6
6
  sonar-project.properties
7
7
  tox.ini
8
+ debian/TODO
9
+ debian/changelog
10
+ debian/control
11
+ debian/copyright
12
+ debian/python3-cherrypy-foundation.docs
13
+ debian/python3-cherrypy-foundation.links
14
+ debian/rules
15
+ debian/source/format
16
+ debian/source/options
17
+ debian/upstream/metadata
8
18
  src/cherrypy_foundation/__init__.py
9
19
  src/cherrypy_foundation/error_page.py
10
20
  src/cherrypy_foundation/flash.py
@@ -29,7 +29,6 @@ deps =
29
29
  trixie: sqlalchemy==2.0.40
30
30
  trixie: wtforms==3.2.1
31
31
  trixie: CherryPy==18.10.0
32
- trixie: configargparse==1.7
33
32
  trixie: Jinja2==3.1.6
34
33
  #trixie: jinjax==0.57 Trixie required backported version
35
34
  extras = test