csu 2.5.3__tar.gz → 2.5.4__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 (108) hide show
  1. {csu-2.5.3 → csu-2.5.4}/.bumpversion.cfg +1 -1
  2. {csu-2.5.3 → csu-2.5.4}/.cookiecutterrc +1 -1
  3. {csu-2.5.3 → csu-2.5.4}/PKG-INFO +3 -3
  4. {csu-2.5.3 → csu-2.5.4}/README.rst +2 -2
  5. {csu-2.5.3 → csu-2.5.4}/pyproject.toml +1 -1
  6. {csu-2.5.3 → csu-2.5.4}/src/csu/__init__.py +1 -1
  7. {csu-2.5.3 → csu-2.5.4}/src/csu/conf.py +9 -3
  8. {csu-2.5.3 → csu-2.5.4}/src/csu/logging.py +9 -7
  9. {csu-2.5.3 → csu-2.5.4}/src/csu.egg-info/PKG-INFO +3 -3
  10. {csu-2.5.3 → csu-2.5.4}/.coveragerc +0 -0
  11. {csu-2.5.3 → csu-2.5.4}/.editorconfig +0 -0
  12. {csu-2.5.3 → csu-2.5.4}/.github/workflows/github-actions.yml +0 -0
  13. {csu-2.5.3 → csu-2.5.4}/.pre-commit-config.yaml +0 -0
  14. {csu-2.5.3 → csu-2.5.4}/.tombi.toml +0 -0
  15. {csu-2.5.3 → csu-2.5.4}/AUTHORS.rst +0 -0
  16. {csu-2.5.3 → csu-2.5.4}/CHANGELOG.rst +0 -0
  17. {csu-2.5.3 → csu-2.5.4}/CONTRIBUTING.rst +0 -0
  18. {csu-2.5.3 → csu-2.5.4}/LICENSE +0 -0
  19. {csu-2.5.3 → csu-2.5.4}/MANIFEST.in +0 -0
  20. {csu-2.5.3 → csu-2.5.4}/ci/bootstrap.py +0 -0
  21. {csu-2.5.3 → csu-2.5.4}/ci/requirements.txt +0 -0
  22. {csu-2.5.3 → csu-2.5.4}/ci/templates/.github/workflows/github-actions.yml +0 -0
  23. {csu-2.5.3 → csu-2.5.4}/pytest.ini +0 -0
  24. {csu-2.5.3 → csu-2.5.4}/setup.cfg +0 -0
  25. {csu-2.5.3 → csu-2.5.4}/src/csu/admin.py +0 -0
  26. {csu-2.5.3 → csu-2.5.4}/src/csu/consts.py +0 -0
  27. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/__init__.py +0 -0
  28. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/auth.py +0 -0
  29. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/fields.py +0 -0
  30. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/forms.py +0 -0
  31. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/perms.py +0 -0
  32. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/phonenumber.py +0 -0
  33. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/serializers.py +0 -0
  34. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/test_auth.py +0 -0
  35. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/test_fields.py +0 -0
  36. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/test_forms.py +0 -0
  37. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/test_phonenumber.py +0 -0
  38. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/test_serializers.py +0 -0
  39. {csu-2.5.3 → csu-2.5.4}/src/csu/drf/views.py +0 -0
  40. {csu-2.5.3 → csu-2.5.4}/src/csu/enums.py +0 -0
  41. {csu-2.5.3 → csu-2.5.4}/src/csu/env.py +0 -0
  42. {csu-2.5.3 → csu-2.5.4}/src/csu/exceptions.py +0 -0
  43. {csu-2.5.3 → csu-2.5.4}/src/csu/export.py +0 -0
  44. {csu-2.5.3 → csu-2.5.4}/src/csu/fixups.py +0 -0
  45. {csu-2.5.3 → csu-2.5.4}/src/csu/forms/__init__.py +0 -0
  46. {csu-2.5.3 → csu-2.5.4}/src/csu/forms/crispy.py +0 -0
  47. {csu-2.5.3 → csu-2.5.4}/src/csu/forms/fields.py +0 -0
  48. {csu-2.5.3 → csu-2.5.4}/src/csu/gettext.py +0 -0
  49. {csu-2.5.3 → csu-2.5.4}/src/csu/gettext_lazy.py +0 -0
  50. {csu-2.5.3 → csu-2.5.4}/src/csu/locale/ro/LC_MESSAGES/django.mo +0 -0
  51. {csu-2.5.3 → csu-2.5.4}/src/csu/locale/ro/LC_MESSAGES/django.po +0 -0
  52. {csu-2.5.3 → csu-2.5.4}/src/csu/management.py +0 -0
  53. {csu-2.5.3 → csu-2.5.4}/src/csu/models.py +0 -0
  54. {csu-2.5.3 → csu-2.5.4}/src/csu/query.py +0 -0
  55. {csu-2.5.3 → csu-2.5.4}/src/csu/routers.py +0 -0
  56. {csu-2.5.3 → csu-2.5.4}/src/csu/service.py +0 -0
  57. {csu-2.5.3 → csu-2.5.4}/src/csu/templates/api_exception.html +0 -0
  58. {csu-2.5.3 → csu-2.5.4}/src/csu/templates/forms/widgets/opaquewidget.html +0 -0
  59. {csu-2.5.3 → csu-2.5.4}/src/csu/test_consts.py +0 -0
  60. {csu-2.5.3 → csu-2.5.4}/src/csu/test_env.py +0 -0
  61. {csu-2.5.3 → csu-2.5.4}/src/csu/test_exceptions.py +0 -0
  62. {csu-2.5.3 → csu-2.5.4}/src/csu/test_logging.py +0 -0
  63. {csu-2.5.3 → csu-2.5.4}/src/csu/test_management.py +0 -0
  64. {csu-2.5.3 → csu-2.5.4}/src/csu/test_service.py +0 -0
  65. {csu-2.5.3 → csu-2.5.4}/src/csu/test_timezones.py +0 -0
  66. {csu-2.5.3 → csu-2.5.4}/src/csu/test_utils.py +0 -0
  67. {csu-2.5.3 → csu-2.5.4}/src/csu/test_xml.py +0 -0
  68. {csu-2.5.3 → csu-2.5.4}/src/csu/timezones.py +0 -0
  69. {csu-2.5.3 → csu-2.5.4}/src/csu/utils.py +0 -0
  70. {csu-2.5.3 → csu-2.5.4}/src/csu/views.py +0 -0
  71. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/__init__.py +0 -0
  72. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/admin.py +0 -0
  73. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/asgi.py +0 -0
  74. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/engine.py +0 -0
  75. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/enums.py +0 -0
  76. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/job.py +0 -0
  77. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/models.py +0 -0
  78. {csu-2.5.3 → csu-2.5.4}/src/csu/worker/registry.py +0 -0
  79. {csu-2.5.3 → csu-2.5.4}/src/csu/wsgi.py +0 -0
  80. {csu-2.5.3 → csu-2.5.4}/src/csu/xml.py +0 -0
  81. {csu-2.5.3 → csu-2.5.4}/src/csu.egg-info/SOURCES.txt +0 -0
  82. {csu-2.5.3 → csu-2.5.4}/src/csu.egg-info/dependency_links.txt +0 -0
  83. {csu-2.5.3 → csu-2.5.4}/src/csu.egg-info/requires.txt +0 -0
  84. {csu-2.5.3 → csu-2.5.4}/src/csu.egg-info/top_level.txt +0 -0
  85. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_custom_context.yaml +0 -0
  86. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_custom_context_0_retries.yaml +0 -0
  87. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_decoding.yaml +0 -0
  88. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_error.yaml +0 -0
  89. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_logging.yaml +0 -0
  90. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service/test_redirects.yaml +0 -0
  91. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service_auth/test_async.yaml +0 -0
  92. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service_auth/test_async_auth.yaml +0 -0
  93. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service_auth/test_sync.yaml +0 -0
  94. {csu-2.5.3 → csu-2.5.4}/tests/cassettes/test_service_auth/test_sync_auth.yaml +0 -0
  95. {csu-2.5.3 → csu-2.5.4}/tests/conftest.py +0 -0
  96. {csu-2.5.3 → csu-2.5.4}/tests/exampleworker.py +0 -0
  97. {csu-2.5.3 → csu-2.5.4}/tests/test_exampleworker.py +0 -0
  98. {csu-2.5.3 → csu-2.5.4}/tests/test_models.py +0 -0
  99. {csu-2.5.3 → csu-2.5.4}/tests/test_service.py +0 -0
  100. {csu-2.5.3 → csu-2.5.4}/tests/test_service_auth.py +0 -0
  101. {csu-2.5.3 → csu-2.5.4}/tests/test_views.py +0 -0
  102. {csu-2.5.3 → csu-2.5.4}/tests/test_worker.py +0 -0
  103. {csu-2.5.3 → csu-2.5.4}/tests/testproject/__init__.py +0 -0
  104. {csu-2.5.3 → csu-2.5.4}/tests/testproject/fixtures/testuser.json +0 -0
  105. {csu-2.5.3 → csu-2.5.4}/tests/testproject/models.py +0 -0
  106. {csu-2.5.3 → csu-2.5.4}/tests/testproject/settings.py +0 -0
  107. {csu-2.5.3 → csu-2.5.4}/tests/testproject/urls.py +0 -0
  108. {csu-2.5.3 → csu-2.5.4}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 2.5.3
2
+ current_version = 2.5.4
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -41,7 +41,7 @@ default_context:
41
41
  sphinx_theme: furo
42
42
  test_matrix_separate_coverage: false
43
43
  tests_inside_package: true
44
- version: 2.5.3
44
+ version: 2.5.4
45
45
  version_manager: bump2version
46
46
  website: https://blog.ionelmc.ro
47
47
  year_from: '2024'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csu
3
- Version: 2.5.3
3
+ Version: 2.5.4
4
4
  Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
5
5
  Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
6
6
  License-Expression: BSD-2-Clause
@@ -69,9 +69,9 @@ Overview
69
69
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
70
70
  :alt: Supported implementations
71
71
  :target: https://pypi.org/project/csu
72
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.3.svg
72
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.4.svg
73
73
  :alt: Commits since latest release
74
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.3...main
74
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.4...main
75
75
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
76
76
  :alt: Scrutinizer Status
77
77
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
@@ -34,9 +34,9 @@ Overview
34
34
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
35
35
  :alt: Supported implementations
36
36
  :target: https://pypi.org/project/csu
37
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.3.svg
37
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.4.svg
38
38
  :alt: Commits since latest release
39
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.3...main
39
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.4...main
40
40
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
41
41
  :alt: Scrutinizer Status
42
42
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "csu"
3
- version = "2.5.3"
3
+ version = "2.5.4"
4
4
  description = "Clean Slate Utils - bunch of utility code, mostly Django/DRF specific."
5
5
  requires-python = ">=3.14"
6
6
  license = "BSD-2-Clause"
@@ -2,4 +2,4 @@
2
2
  a.k.a Clean Slate Utils
3
3
  """
4
4
 
5
- __version__ = "2.5.3"
5
+ __version__ = "2.5.4"
@@ -24,13 +24,19 @@ else:
24
24
  LOGGING_AUTH_INFO_FIELDS = getattr(settings, "CSU_LOGGING_AUTH_INFO_FIELDS", ("_auth",))
25
25
  assert isinstance(LOGGING_AUTH_INFO_FIELDS, list | tuple), f"Expected CSU_LOGGING_AUTH_INFO_FIELDS={LOGGING_AUTH_INFO_FIELDS!r} to be a list or tuple."
26
26
  LOGGING_TB_LIMIT = getattr(settings, "CSU_LOGGING_TB_LIMIT", 5)
27
+ LOGGING_SHOW_HEADERS = getattr(settings, "CSU_LOGGING_SHOW_HEADERS", False)
27
28
  LOGGING_AUTH_INFO_LIMIT = getattr(settings, "CSU_LOGGING_AUTH_INFO_LIMIT", 12)
28
- LOGGING_REQUEST_BODY_LIMIT = getattr(settings, "CSU_LOGGING_REQUEST_BODY_LIMIT", 102400)
29
+
29
30
  LOGGING_RESPONSE_TEXT_LIMIT = getattr(settings, "CSU_LOGGING_RESPONSE_TEXT_LIMIT", 102400)
30
31
  LOGGING_RESPONSE_BINARY_LIMIT = getattr(settings, "CSU_LOGGING_RESPONSE_BINARY_LIMIT", 64)
31
- LOGGING_SHOW_HEADERS = getattr(settings, "CSU_LOGGING_SHOW_HEADERS", False)
32
+ LOGGING_RESPONSE_SHOW_HEADERS = getattr(settings, "CSU_LOGGING_RESPONSE_SHOW_HEADERS", LOGGING_SHOW_HEADERS)
33
+
34
+ LOGGING_REQUEST_BODY_LIMIT = getattr(settings, "CSU_LOGGING_REQUEST_BODY_LIMIT", 102400)
35
+ LOGGING_REQUEST_SHOW_HEADERS = getattr(settings, "CSU_LOGGING_REQUEST_SHOW_HEADERS", LOGGING_RESPONSE_SHOW_HEADERS)
36
+
32
37
  SERVICE_LOGGING_REQUEST_BODY_LIMIT = getattr(settings, "CSU_SERVICE_LOGGING_REQUEST_BODY_LIMIT", None)
33
38
  SERVICE_LOGGING_REQUEST_SHOW_HEADERS = getattr(settings, "CSU_SERVICE_LOGGING_REQUEST_SHOW_HEADERS", LOGGING_SHOW_HEADERS)
39
+
34
40
  SERVICE_LOGGING_RESPONSE_TEXT_LIMIT = getattr(settings, "CSU_SERVICE_LOGGING_RESPONSE_TEXT_LIMIT", LOGGING_RESPONSE_TEXT_LIMIT)
35
41
  SERVICE_LOGGING_RESPONSE_BINARY_LIMIT = getattr(settings, "CSU_SERVICE_LOGGING_RESPONSE_BINARY_LIMIT", LOGGING_RESPONSE_BINARY_LIMIT)
36
- SERVICE_LOGGING_RESPONSE_SHOW_HEADERS = getattr(settings, "CSU_SERVICE_LOGGING_RESPONSE_SHOW_HEADERS", False)
42
+ SERVICE_LOGGING_RESPONSE_SHOW_HEADERS = getattr(settings, "CSU_SERVICE_LOGGING_RESPONSE_SHOW_HEADERS", SERVICE_LOGGING_REQUEST_SHOW_HEADERS)
@@ -12,9 +12,10 @@ from rest_framework.response import Response
12
12
 
13
13
  from .conf import LOGGING_AUTH_INFO_LIMIT
14
14
  from .conf import LOGGING_REQUEST_BODY_LIMIT
15
+ from .conf import LOGGING_REQUEST_SHOW_HEADERS
15
16
  from .conf import LOGGING_RESPONSE_BINARY_LIMIT
17
+ from .conf import LOGGING_RESPONSE_SHOW_HEADERS
16
18
  from .conf import LOGGING_RESPONSE_TEXT_LIMIT
17
- from .conf import LOGGING_SHOW_HEADERS
18
19
  from .consts import LINE_LENGTH
19
20
  from .consts import REQUEST_DATA_LINE
20
21
  from .consts import RESPONSE_CONTENT_LINE
@@ -120,7 +121,7 @@ def get_content_lines(request: Request | HttpRequest | ASGIRequest, response: Re
120
121
  if arguments:
121
122
  fa_append_repr(format, arguments, body, LOGGING_REQUEST_BODY_LIMIT)
122
123
 
123
- if LOGGING_SHOW_HEADERS:
124
+ if LOGGING_REQUEST_SHOW_HEADERS:
124
125
  format.append("\n%s\n %s")
125
126
  arguments += (
126
127
  " request headers ".center(LINE_LENGTH, "-"),
@@ -128,11 +129,12 @@ def get_content_lines(request: Request | HttpRequest | ASGIRequest, response: Re
128
129
  )
129
130
  if response:
130
131
  if response.headers:
131
- format.append("\n%s\n %s")
132
- arguments += (
133
- " response headers ".center(LINE_LENGTH, "-"),
134
- "\n ".join(f"{name}: {value}" for name, value in response.headers.items()),
135
- )
132
+ if LOGGING_RESPONSE_SHOW_HEADERS:
133
+ format.append("\n%s\n %s")
134
+ arguments += (
135
+ " response headers ".center(LINE_LENGTH, "-"),
136
+ "\n ".join(f"{name}: {value}" for name, value in response.headers.items()),
137
+ )
136
138
  content_type = response.headers.get("content-type")
137
139
  else:
138
140
  content_type = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csu
3
- Version: 2.5.3
3
+ Version: 2.5.4
4
4
  Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
5
5
  Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
6
6
  License-Expression: BSD-2-Clause
@@ -69,9 +69,9 @@ Overview
69
69
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
70
70
  :alt: Supported implementations
71
71
  :target: https://pypi.org/project/csu
72
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.3.svg
72
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.4.svg
73
73
  :alt: Commits since latest release
74
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.3...main
74
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.4...main
75
75
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
76
76
  :alt: Scrutinizer Status
77
77
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
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