plain 0.4.0__tar.gz → 0.4.1__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 (151) hide show
  1. {plain-0.4.0 → plain-0.4.1}/PKG-INFO +1 -1
  2. {plain-0.4.0 → plain-0.4.1}/plain/debug.py +4 -2
  3. {plain-0.4.0 → plain-0.4.1}/plain/preflight/__init__.py +0 -1
  4. {plain-0.4.0 → plain-0.4.1}/pyproject.toml +1 -1
  5. plain-0.4.0/plain/preflight/compatibility/django_4_0.py +0 -20
  6. plain-0.4.0/plain/utils/__init__.py +0 -0
  7. {plain-0.4.0 → plain-0.4.1}/LICENSE +0 -0
  8. {plain-0.4.0 → plain-0.4.1}/README.md +0 -0
  9. {plain-0.4.0 → plain-0.4.1}/plain/README.md +0 -0
  10. {plain-0.4.0 → plain-0.4.1}/plain/__main__.py +0 -0
  11. {plain-0.4.0 → plain-0.4.1}/plain/assets/README.md +0 -0
  12. {plain-0.4.0 → plain-0.4.1}/plain/assets/__init__.py +0 -0
  13. {plain-0.4.0 → plain-0.4.1}/plain/assets/compile.py +0 -0
  14. {plain-0.4.0 → plain-0.4.1}/plain/assets/finders.py +0 -0
  15. {plain-0.4.0 → plain-0.4.1}/plain/assets/fingerprints.py +0 -0
  16. {plain-0.4.0 → plain-0.4.1}/plain/assets/urls.py +0 -0
  17. {plain-0.4.0 → plain-0.4.1}/plain/assets/views.py +0 -0
  18. {plain-0.4.0 → plain-0.4.1}/plain/cli/README.md +0 -0
  19. {plain-0.4.0 → plain-0.4.1}/plain/cli/__init__.py +0 -0
  20. {plain-0.4.0 → plain-0.4.1}/plain/cli/cli.py +0 -0
  21. {plain-0.4.0 → plain-0.4.1}/plain/cli/formatting.py +0 -0
  22. {plain-0.4.0 → plain-0.4.1}/plain/cli/packages.py +0 -0
  23. {plain-0.4.0 → plain-0.4.1}/plain/cli/print.py +0 -0
  24. {plain-0.4.0 → plain-0.4.1}/plain/cli/startup.py +0 -0
  25. {plain-0.4.0 → plain-0.4.1}/plain/csrf/README.md +0 -0
  26. {plain-0.4.0 → plain-0.4.1}/plain/csrf/middleware.py +0 -0
  27. {plain-0.4.0 → plain-0.4.1}/plain/csrf/views.py +0 -0
  28. {plain-0.4.0 → plain-0.4.1}/plain/exceptions.py +0 -0
  29. {plain-0.4.0 → plain-0.4.1}/plain/forms/README.md +0 -0
  30. {plain-0.4.0 → plain-0.4.1}/plain/forms/__init__.py +0 -0
  31. {plain-0.4.0 → plain-0.4.1}/plain/forms/boundfield.py +0 -0
  32. {plain-0.4.0 → plain-0.4.1}/plain/forms/exceptions.py +0 -0
  33. {plain-0.4.0 → plain-0.4.1}/plain/forms/fields.py +0 -0
  34. {plain-0.4.0 → plain-0.4.1}/plain/forms/forms.py +0 -0
  35. {plain-0.4.0 → plain-0.4.1}/plain/http/README.md +0 -0
  36. {plain-0.4.0 → plain-0.4.1}/plain/http/__init__.py +0 -0
  37. {plain-0.4.0 → plain-0.4.1}/plain/http/cookie.py +0 -0
  38. {plain-0.4.0 → plain-0.4.1}/plain/http/multipartparser.py +0 -0
  39. {plain-0.4.0 → plain-0.4.1}/plain/http/request.py +0 -0
  40. {plain-0.4.0 → plain-0.4.1}/plain/http/response.py +0 -0
  41. {plain-0.4.0 → plain-0.4.1}/plain/internal/__init__.py +0 -0
  42. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/README.md +0 -0
  43. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/__init__.py +0 -0
  44. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/base.py +0 -0
  45. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/locks.py +0 -0
  46. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/move.py +0 -0
  47. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/temp.py +0 -0
  48. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/uploadedfile.py +0 -0
  49. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/uploadhandler.py +0 -0
  50. {plain-0.4.0 → plain-0.4.1}/plain/internal/files/utils.py +0 -0
  51. {plain-0.4.0 → plain-0.4.1}/plain/internal/handlers/__init__.py +0 -0
  52. {plain-0.4.0 → plain-0.4.1}/plain/internal/handlers/base.py +0 -0
  53. {plain-0.4.0 → plain-0.4.1}/plain/internal/handlers/exception.py +0 -0
  54. {plain-0.4.0 → plain-0.4.1}/plain/internal/handlers/wsgi.py +0 -0
  55. {plain-0.4.0 → plain-0.4.1}/plain/json.py +0 -0
  56. {plain-0.4.0 → plain-0.4.1}/plain/logs/README.md +0 -0
  57. {plain-0.4.0 → plain-0.4.1}/plain/logs/__init__.py +0 -0
  58. {plain-0.4.0 → plain-0.4.1}/plain/logs/configure.py +0 -0
  59. {plain-0.4.0 → plain-0.4.1}/plain/logs/loggers.py +0 -0
  60. {plain-0.4.0 → plain-0.4.1}/plain/logs/utils.py +0 -0
  61. {plain-0.4.0 → plain-0.4.1}/plain/middleware/README.md +0 -0
  62. {plain-0.4.0 → plain-0.4.1}/plain/middleware/__init__.py +0 -0
  63. {plain-0.4.0 → plain-0.4.1}/plain/middleware/clickjacking.py +0 -0
  64. {plain-0.4.0 → plain-0.4.1}/plain/middleware/common.py +0 -0
  65. {plain-0.4.0 → plain-0.4.1}/plain/middleware/gzip.py +0 -0
  66. {plain-0.4.0 → plain-0.4.1}/plain/middleware/security.py +0 -0
  67. {plain-0.4.0 → plain-0.4.1}/plain/packages/README.md +0 -0
  68. {plain-0.4.0 → plain-0.4.1}/plain/packages/__init__.py +0 -0
  69. {plain-0.4.0 → plain-0.4.1}/plain/packages/config.py +0 -0
  70. {plain-0.4.0 → plain-0.4.1}/plain/packages/registry.py +0 -0
  71. {plain-0.4.0 → plain-0.4.1}/plain/paginator.py +0 -0
  72. {plain-0.4.0 → plain-0.4.1}/plain/preflight/README.md +0 -0
  73. {plain-0.4.0 → plain-0.4.1}/plain/preflight/files.py +0 -0
  74. {plain-0.4.0 → plain-0.4.1}/plain/preflight/messages.py +0 -0
  75. {plain-0.4.0 → plain-0.4.1}/plain/preflight/registry.py +0 -0
  76. {plain-0.4.0/plain/preflight/compatibility → plain-0.4.1/plain/preflight/security}/__init__.py +0 -0
  77. {plain-0.4.0 → plain-0.4.1}/plain/preflight/security/base.py +0 -0
  78. {plain-0.4.0 → plain-0.4.1}/plain/preflight/security/csrf.py +0 -0
  79. {plain-0.4.0 → plain-0.4.1}/plain/preflight/urls.py +0 -0
  80. {plain-0.4.0 → plain-0.4.1}/plain/runtime/README.md +0 -0
  81. {plain-0.4.0 → plain-0.4.1}/plain/runtime/__init__.py +0 -0
  82. {plain-0.4.0 → plain-0.4.1}/plain/runtime/global_settings.py +0 -0
  83. {plain-0.4.0 → plain-0.4.1}/plain/runtime/user_settings.py +0 -0
  84. {plain-0.4.0 → plain-0.4.1}/plain/signals/README.md +0 -0
  85. {plain-0.4.0 → plain-0.4.1}/plain/signals/__init__.py +0 -0
  86. {plain-0.4.0 → plain-0.4.1}/plain/signals/dispatch/__init__.py +0 -0
  87. {plain-0.4.0 → plain-0.4.1}/plain/signals/dispatch/dispatcher.py +0 -0
  88. {plain-0.4.0 → plain-0.4.1}/plain/signals/dispatch/license.txt +0 -0
  89. {plain-0.4.0 → plain-0.4.1}/plain/signing.py +0 -0
  90. {plain-0.4.0 → plain-0.4.1}/plain/templates/README.md +0 -0
  91. {plain-0.4.0 → plain-0.4.1}/plain/templates/__init__.py +0 -0
  92. {plain-0.4.0 → plain-0.4.1}/plain/templates/core.py +0 -0
  93. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/README.md +0 -0
  94. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/__init__.py +0 -0
  95. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/defaults.py +0 -0
  96. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/extensions.py +0 -0
  97. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/filters.py +0 -0
  98. {plain-0.4.0 → plain-0.4.1}/plain/templates/jinja/globals.py +0 -0
  99. {plain-0.4.0 → plain-0.4.1}/plain/test/README.md +0 -0
  100. {plain-0.4.0 → plain-0.4.1}/plain/test/__init__.py +0 -0
  101. {plain-0.4.0 → plain-0.4.1}/plain/test/client.py +0 -0
  102. {plain-0.4.0 → plain-0.4.1}/plain/urls/README.md +0 -0
  103. {plain-0.4.0 → plain-0.4.1}/plain/urls/__init__.py +0 -0
  104. {plain-0.4.0 → plain-0.4.1}/plain/urls/base.py +0 -0
  105. {plain-0.4.0 → plain-0.4.1}/plain/urls/conf.py +0 -0
  106. {plain-0.4.0 → plain-0.4.1}/plain/urls/converters.py +0 -0
  107. {plain-0.4.0 → plain-0.4.1}/plain/urls/exceptions.py +0 -0
  108. {plain-0.4.0 → plain-0.4.1}/plain/urls/resolvers.py +0 -0
  109. {plain-0.4.0 → plain-0.4.1}/plain/utils/README.md +0 -0
  110. {plain-0.4.0/plain/preflight/security → plain-0.4.1/plain/utils}/__init__.py +0 -0
  111. {plain-0.4.0 → plain-0.4.1}/plain/utils/_os.py +0 -0
  112. {plain-0.4.0 → plain-0.4.1}/plain/utils/cache.py +0 -0
  113. {plain-0.4.0 → plain-0.4.1}/plain/utils/connection.py +0 -0
  114. {plain-0.4.0 → plain-0.4.1}/plain/utils/crypto.py +0 -0
  115. {plain-0.4.0 → plain-0.4.1}/plain/utils/datastructures.py +0 -0
  116. {plain-0.4.0 → plain-0.4.1}/plain/utils/dateformat.py +0 -0
  117. {plain-0.4.0 → plain-0.4.1}/plain/utils/dateparse.py +0 -0
  118. {plain-0.4.0 → plain-0.4.1}/plain/utils/dates.py +0 -0
  119. {plain-0.4.0 → plain-0.4.1}/plain/utils/deconstruct.py +0 -0
  120. {plain-0.4.0 → plain-0.4.1}/plain/utils/decorators.py +0 -0
  121. {plain-0.4.0 → plain-0.4.1}/plain/utils/deprecation.py +0 -0
  122. {plain-0.4.0 → plain-0.4.1}/plain/utils/duration.py +0 -0
  123. {plain-0.4.0 → plain-0.4.1}/plain/utils/email.py +0 -0
  124. {plain-0.4.0 → plain-0.4.1}/plain/utils/encoding.py +0 -0
  125. {plain-0.4.0 → plain-0.4.1}/plain/utils/functional.py +0 -0
  126. {plain-0.4.0 → plain-0.4.1}/plain/utils/hashable.py +0 -0
  127. {plain-0.4.0 → plain-0.4.1}/plain/utils/html.py +0 -0
  128. {plain-0.4.0 → plain-0.4.1}/plain/utils/http.py +0 -0
  129. {plain-0.4.0 → plain-0.4.1}/plain/utils/inspect.py +0 -0
  130. {plain-0.4.0 → plain-0.4.1}/plain/utils/ipv6.py +0 -0
  131. {plain-0.4.0 → plain-0.4.1}/plain/utils/itercompat.py +0 -0
  132. {plain-0.4.0 → plain-0.4.1}/plain/utils/module_loading.py +0 -0
  133. {plain-0.4.0 → plain-0.4.1}/plain/utils/regex_helper.py +0 -0
  134. {plain-0.4.0 → plain-0.4.1}/plain/utils/safestring.py +0 -0
  135. {plain-0.4.0 → plain-0.4.1}/plain/utils/termcolors.py +0 -0
  136. {plain-0.4.0 → plain-0.4.1}/plain/utils/text.py +0 -0
  137. {plain-0.4.0 → plain-0.4.1}/plain/utils/timesince.py +0 -0
  138. {plain-0.4.0 → plain-0.4.1}/plain/utils/timezone.py +0 -0
  139. {plain-0.4.0 → plain-0.4.1}/plain/utils/tree.py +0 -0
  140. {plain-0.4.0 → plain-0.4.1}/plain/validators.py +0 -0
  141. {plain-0.4.0 → plain-0.4.1}/plain/views/README.md +0 -0
  142. {plain-0.4.0 → plain-0.4.1}/plain/views/__init__.py +0 -0
  143. {plain-0.4.0 → plain-0.4.1}/plain/views/base.py +0 -0
  144. {plain-0.4.0 → plain-0.4.1}/plain/views/csrf.py +0 -0
  145. {plain-0.4.0 → plain-0.4.1}/plain/views/errors.py +0 -0
  146. {plain-0.4.0 → plain-0.4.1}/plain/views/exceptions.py +0 -0
  147. {plain-0.4.0 → plain-0.4.1}/plain/views/forms.py +0 -0
  148. {plain-0.4.0 → plain-0.4.1}/plain/views/objects.py +0 -0
  149. {plain-0.4.0 → plain-0.4.1}/plain/views/redirect.py +0 -0
  150. {plain-0.4.0 → plain-0.4.1}/plain/views/templates.py +0 -0
  151. {plain-0.4.0 → plain-0.4.1}/plain/wsgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plain
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: A web framework for building products with Python.
5
5
  Author: Dave Gaeddert
6
6
  Author-email: dave.gaeddert@dropseed.dev
@@ -1,6 +1,6 @@
1
1
  from pprint import pformat
2
2
 
3
- from markupsafe import escape
3
+ from markupsafe import Markup, escape
4
4
 
5
5
  from plain.http import Response
6
6
  from plain.views.exceptions import ResponseException
@@ -18,6 +18,8 @@ def dd(obj):
18
18
 
19
19
  response = Response()
20
20
  response.status_code = 500
21
- response.content = escape(dump_str)
21
+ response.content = (
22
+ Markup("<pre><code>") + escape(dump_str) + Markup("</code></pre>")
23
+ )
22
24
  response.content_type = "text/html"
23
25
  raise ResponseException(response)
@@ -14,7 +14,6 @@ from .messages import (
14
14
  from .registry import register, run_checks
15
15
 
16
16
  # Import these to force registration of checks
17
- import plain.preflight.compatibility.django_4_0 # NOQA isort:skip
18
17
  import plain.preflight.files # NOQA isort:skip
19
18
  import plain.preflight.security.base # NOQA isort:skip
20
19
  import plain.preflight.security.csrf # NOQA isort:skip
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "plain"
3
- version = "0.4.0"
3
+ version = "0.4.1"
4
4
  description = "A web framework for building products with Python."
5
5
  authors = ["Dave Gaeddert <dave.gaeddert@dropseed.dev>"]
6
6
  readme = "README.md"
@@ -1,20 +0,0 @@
1
- from plain.runtime import settings
2
-
3
- from .. import Error, register
4
-
5
-
6
- @register
7
- def check_csrf_trusted_origins(package_configs, **kwargs):
8
- errors = []
9
- for origin in settings.CSRF_TRUSTED_ORIGINS:
10
- if "://" not in origin:
11
- errors.append(
12
- Error(
13
- "As of Plain 4.0, the values in the CSRF_TRUSTED_ORIGINS "
14
- "setting must start with a scheme (usually http:// or "
15
- "https://) but found %s. See the release notes for details."
16
- % origin,
17
- id="4_0.E001",
18
- )
19
- )
20
- return errors
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes