csu 2.5.6__tar.gz → 2.5.7__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.6 → csu-2.5.7}/.bumpversion.cfg +1 -1
  2. {csu-2.5.6 → csu-2.5.7}/.cookiecutterrc +1 -1
  3. {csu-2.5.6 → csu-2.5.7}/PKG-INFO +3 -3
  4. {csu-2.5.6 → csu-2.5.7}/README.rst +2 -2
  5. {csu-2.5.6 → csu-2.5.7}/pyproject.toml +1 -1
  6. {csu-2.5.6 → csu-2.5.7}/src/csu/__init__.py +1 -1
  7. {csu-2.5.6 → csu-2.5.7}/src/csu/logging.py +1 -1
  8. {csu-2.5.6 → csu-2.5.7}/src/csu/service.py +4 -4
  9. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/asgi.py +2 -2
  10. {csu-2.5.6 → csu-2.5.7}/src/csu.egg-info/PKG-INFO +3 -3
  11. {csu-2.5.6 → csu-2.5.7}/tests/test_logging.py +1 -1
  12. {csu-2.5.6 → csu-2.5.7}/tests/test_service.py +4 -4
  13. {csu-2.5.6 → csu-2.5.7}/tests/test_service_auth.py +2 -2
  14. {csu-2.5.6 → csu-2.5.7}/.coveragerc +0 -0
  15. {csu-2.5.6 → csu-2.5.7}/.editorconfig +0 -0
  16. {csu-2.5.6 → csu-2.5.7}/.github/workflows/github-actions.yml +0 -0
  17. {csu-2.5.6 → csu-2.5.7}/.pre-commit-config.yaml +0 -0
  18. {csu-2.5.6 → csu-2.5.7}/.tombi.toml +0 -0
  19. {csu-2.5.6 → csu-2.5.7}/AUTHORS.rst +0 -0
  20. {csu-2.5.6 → csu-2.5.7}/CHANGELOG.rst +0 -0
  21. {csu-2.5.6 → csu-2.5.7}/CONTRIBUTING.rst +0 -0
  22. {csu-2.5.6 → csu-2.5.7}/LICENSE +0 -0
  23. {csu-2.5.6 → csu-2.5.7}/MANIFEST.in +0 -0
  24. {csu-2.5.6 → csu-2.5.7}/ci/bootstrap.py +0 -0
  25. {csu-2.5.6 → csu-2.5.7}/ci/requirements.txt +0 -0
  26. {csu-2.5.6 → csu-2.5.7}/ci/templates/.github/workflows/github-actions.yml +0 -0
  27. {csu-2.5.6 → csu-2.5.7}/pytest.ini +0 -0
  28. {csu-2.5.6 → csu-2.5.7}/setup.cfg +0 -0
  29. {csu-2.5.6 → csu-2.5.7}/src/csu/admin.py +0 -0
  30. {csu-2.5.6 → csu-2.5.7}/src/csu/conf.py +0 -0
  31. {csu-2.5.6 → csu-2.5.7}/src/csu/consts.py +0 -0
  32. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/__init__.py +0 -0
  33. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/auth.py +0 -0
  34. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/fields.py +0 -0
  35. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/forms.py +0 -0
  36. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/perms.py +0 -0
  37. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/phonenumber.py +0 -0
  38. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/serializers.py +0 -0
  39. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/test_auth.py +0 -0
  40. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/test_fields.py +0 -0
  41. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/test_forms.py +0 -0
  42. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/test_phonenumber.py +0 -0
  43. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/test_serializers.py +0 -0
  44. {csu-2.5.6 → csu-2.5.7}/src/csu/drf/views.py +0 -0
  45. {csu-2.5.6 → csu-2.5.7}/src/csu/enums.py +0 -0
  46. {csu-2.5.6 → csu-2.5.7}/src/csu/env.py +0 -0
  47. {csu-2.5.6 → csu-2.5.7}/src/csu/exceptions.py +0 -0
  48. {csu-2.5.6 → csu-2.5.7}/src/csu/export.py +0 -0
  49. {csu-2.5.6 → csu-2.5.7}/src/csu/fixups.py +0 -0
  50. {csu-2.5.6 → csu-2.5.7}/src/csu/forms/__init__.py +0 -0
  51. {csu-2.5.6 → csu-2.5.7}/src/csu/forms/crispy.py +0 -0
  52. {csu-2.5.6 → csu-2.5.7}/src/csu/forms/fields.py +0 -0
  53. {csu-2.5.6 → csu-2.5.7}/src/csu/gettext.py +0 -0
  54. {csu-2.5.6 → csu-2.5.7}/src/csu/gettext_lazy.py +0 -0
  55. {csu-2.5.6 → csu-2.5.7}/src/csu/locale/ro/LC_MESSAGES/django.mo +0 -0
  56. {csu-2.5.6 → csu-2.5.7}/src/csu/locale/ro/LC_MESSAGES/django.po +0 -0
  57. {csu-2.5.6 → csu-2.5.7}/src/csu/management.py +0 -0
  58. {csu-2.5.6 → csu-2.5.7}/src/csu/models.py +0 -0
  59. {csu-2.5.6 → csu-2.5.7}/src/csu/query.py +0 -0
  60. {csu-2.5.6 → csu-2.5.7}/src/csu/routers.py +0 -0
  61. {csu-2.5.6 → csu-2.5.7}/src/csu/templates/api_exception.html +0 -0
  62. {csu-2.5.6 → csu-2.5.7}/src/csu/templates/forms/widgets/opaquewidget.html +0 -0
  63. {csu-2.5.6 → csu-2.5.7}/src/csu/test_consts.py +0 -0
  64. {csu-2.5.6 → csu-2.5.7}/src/csu/test_env.py +0 -0
  65. {csu-2.5.6 → csu-2.5.7}/src/csu/test_exceptions.py +0 -0
  66. {csu-2.5.6 → csu-2.5.7}/src/csu/test_management.py +0 -0
  67. {csu-2.5.6 → csu-2.5.7}/src/csu/test_service.py +0 -0
  68. {csu-2.5.6 → csu-2.5.7}/src/csu/test_timezones.py +0 -0
  69. {csu-2.5.6 → csu-2.5.7}/src/csu/test_utils.py +0 -0
  70. {csu-2.5.6 → csu-2.5.7}/src/csu/test_xml.py +0 -0
  71. {csu-2.5.6 → csu-2.5.7}/src/csu/timezones.py +0 -0
  72. {csu-2.5.6 → csu-2.5.7}/src/csu/utils.py +0 -0
  73. {csu-2.5.6 → csu-2.5.7}/src/csu/views.py +0 -0
  74. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/__init__.py +0 -0
  75. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/admin.py +0 -0
  76. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/engine.py +0 -0
  77. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/enums.py +0 -0
  78. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/job.py +0 -0
  79. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/models.py +0 -0
  80. {csu-2.5.6 → csu-2.5.7}/src/csu/worker/registry.py +0 -0
  81. {csu-2.5.6 → csu-2.5.7}/src/csu/wsgi.py +0 -0
  82. {csu-2.5.6 → csu-2.5.7}/src/csu/xml.py +0 -0
  83. {csu-2.5.6 → csu-2.5.7}/src/csu.egg-info/SOURCES.txt +0 -0
  84. {csu-2.5.6 → csu-2.5.7}/src/csu.egg-info/dependency_links.txt +0 -0
  85. {csu-2.5.6 → csu-2.5.7}/src/csu.egg-info/requires.txt +0 -0
  86. {csu-2.5.6 → csu-2.5.7}/src/csu.egg-info/top_level.txt +0 -0
  87. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_custom_context.yaml +0 -0
  88. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_custom_context_0_retries.yaml +0 -0
  89. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_decoding.yaml +0 -0
  90. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_error.yaml +0 -0
  91. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_logging.yaml +0 -0
  92. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service/test_redirects.yaml +0 -0
  93. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service_auth/test_async.yaml +0 -0
  94. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service_auth/test_async_auth.yaml +0 -0
  95. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service_auth/test_sync.yaml +0 -0
  96. {csu-2.5.6 → csu-2.5.7}/tests/cassettes/test_service_auth/test_sync_auth.yaml +0 -0
  97. {csu-2.5.6 → csu-2.5.7}/tests/conftest.py +0 -0
  98. {csu-2.5.6 → csu-2.5.7}/tests/exampleworker.py +0 -0
  99. {csu-2.5.6 → csu-2.5.7}/tests/test_exampleworker.py +0 -0
  100. {csu-2.5.6 → csu-2.5.7}/tests/test_models.py +0 -0
  101. {csu-2.5.6 → csu-2.5.7}/tests/test_views.py +0 -0
  102. {csu-2.5.6 → csu-2.5.7}/tests/test_worker.py +0 -0
  103. {csu-2.5.6 → csu-2.5.7}/tests/testproject/__init__.py +0 -0
  104. {csu-2.5.6 → csu-2.5.7}/tests/testproject/fixtures/testuser.json +0 -0
  105. {csu-2.5.6 → csu-2.5.7}/tests/testproject/models.py +0 -0
  106. {csu-2.5.6 → csu-2.5.7}/tests/testproject/settings.py +0 -0
  107. {csu-2.5.6 → csu-2.5.7}/tests/testproject/urls.py +0 -0
  108. {csu-2.5.6 → csu-2.5.7}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 2.5.6
2
+ current_version = 2.5.7
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.6
44
+ version: 2.5.7
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.6
3
+ Version: 2.5.7
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.6.svg
72
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.7.svg
73
73
  :alt: Commits since latest release
74
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.6...main
74
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.7...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.6.svg
37
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.7.svg
38
38
  :alt: Commits since latest release
39
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.6...main
39
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.7...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.6"
3
+ version = "2.5.7"
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.6"
5
+ __version__ = "2.5.7"
@@ -85,7 +85,7 @@ def trim_auth_info(auth_info, limit: int | None = LOGGING_AUTH_INFO_LIMIT):
85
85
  def fa_append_repr(format: list[str], arguments: list, value, limit: int | None):
86
86
  value = repr(value)
87
87
  if limit and (size := len(value)) > limit:
88
- format.append("%s\n ... %s more characters")
88
+ format.append("%s\n ... %s more characters")
89
89
  arguments.extend((value[:limit], size - limit))
90
90
  else:
91
91
  format.append("%s")
@@ -138,7 +138,7 @@ class HTTPServiceContext[RTYPE = HTTPServiceResponse]:
138
138
  size = len(request.body)
139
139
  limit = self.log_request_body_limit
140
140
  if limit and size > limit:
141
- content = f"{request.body!r:.{limit}}\n ... {size - limit} more bytes"
141
+ content = f"{request.body!r:.{limit}}\n ... {size - limit} more bytes"
142
142
  else:
143
143
  content = f"{request.body!r}"
144
144
  content_type = request.headers.get("content-type")
@@ -155,7 +155,7 @@ class HTTPServiceContext[RTYPE = HTTPServiceResponse]:
155
155
  else:
156
156
  if self.log_request_show_headers:
157
157
  self.logger.info(
158
- "[%s] %s %s\n%s\n %s\n%s\n %s\n%s",
158
+ "[%s] %s %s\n%s\n %s\n%s\n %s\n%s",
159
159
  self.short_id,
160
160
  request.method,
161
161
  request.url,
@@ -166,7 +166,7 @@ class HTTPServiceContext[RTYPE = HTTPServiceResponse]:
166
166
  )
167
167
  else:
168
168
  self.logger.info(
169
- "[%s] %s %s +[%s]\n%s\n %s\n%s",
169
+ "[%s] %s %s +[%s]\n%s\n %s\n%s",
170
170
  self.short_id,
171
171
  request.method,
172
172
  request.url,
@@ -187,7 +187,7 @@ class HTTPServiceContext[RTYPE = HTTPServiceResponse]:
187
187
  response_line = f" response body ({content_type} - {size} bytes) ".center(LINE_LENGTH, "-")
188
188
  limit = self.log_response_text_limit if is_text else self.log_response_binary_limit
189
189
  if limit and size > limit:
190
- content = f"{content!r:.{limit}}\n ... {size - limit} more bytes"
190
+ content = f"{content!r:.{limit}}\n ... {size - limit} more bytes"
191
191
  else:
192
192
  content = f"{content!r}"
193
193
  if self.log_response_show_headers:
@@ -33,9 +33,9 @@ class WorkerLifespanASGIHandler(ASGIHandler):
33
33
  raise RuntimeError(f"Engine {type(engine)} shutdown_on should be empty, not {engine.shutdown_on}!")
34
34
  await engine.start()
35
35
  logger.info(
36
- "Started %s engines: \n %s",
36
+ "Started %s engines: \n %s",
37
37
  len(registry),
38
- "\n ".join(f"{module_name}: {engine}" for module_name, engine in registry.items()),
38
+ "\n ".join(f"{module_name}: {engine}" for module_name, engine in registry.items()),
39
39
  )
40
40
 
41
41
  async def handle_stop_engines(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csu
3
- Version: 2.5.6
3
+ Version: 2.5.7
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.6.svg
72
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.5.7.svg
73
73
  :alt: Commits since latest release
74
- :target: https://github.com/ionelmc/python-csu/compare/v2.5.6...main
74
+ :target: https://github.com/ionelmc/python-csu/compare/v2.5.7...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/
@@ -8,7 +8,7 @@ def test_fa_append_repr():
8
8
  a = []
9
9
  b = []
10
10
  assert fa_append_repr(a, b, "123456", 3) is None
11
- assert a == snapshot(["%s\n ... %s more characters"])
11
+ assert a == snapshot(["%s\n ... %s more characters"])
12
12
  assert b == snapshot(["'12", 5])
13
13
 
14
14
 
@@ -520,7 +520,7 @@ INFO | [01:000000.00] POST [&HTTPBIN]/anything?foo=bar&accept_statuses=%7B999
520
520
  Content-Length: '27'
521
521
  User-Agent: 'niquests/3.18.6'
522
522
  ------------------------------------------------ request body (no content-type - 27 bytes) -------------------------------------------------
523
- "config={'custom': 'config'}"
523
+ "config={'custom': 'config'}"
524
524
  ============================================================================================================================================\
525
525
  """,
526
526
  """\
@@ -554,7 +554,7 @@ INFO | [01:000000.00] POST [&HTTPBIN]/anything?foo=bar&accept_statuses=%7B999
554
554
  Content-Length: '27'
555
555
  User-Agent: 'niquests/3.18.6'
556
556
  ------------------------------------------------ request body (no content-type - 27 bytes) -------------------------------------------------
557
- "config={'custom': 'config'}"
557
+ "config={'custom': 'config'}"
558
558
  ============================================================================================================================================\
559
559
  """,
560
560
  """\
@@ -588,7 +588,7 @@ INFO | [01:000000.00] POST [&HTTPBIN]/anything?foo=bar&accept_statuses=%7B999
588
588
  Content-Length: '27'
589
589
  User-Agent: 'niquests/3.18.6'
590
590
  ------------------------------------------------ request body (no content-type - 27 bytes) -------------------------------------------------
591
- "config={'custom': 'config'}"
591
+ "config={'custom': 'config'}"
592
592
  ============================================================================================================================================\
593
593
  """,
594
594
  """\
@@ -622,7 +622,7 @@ INFO | [01:000000.00] POST [&HTTPBIN]/anything?foo=bar&accept_statuses=%7B999
622
622
  Content-Length: '27'
623
623
  User-Agent: 'niquests/3.18.6'
624
624
  ------------------------------------------------ request body (no content-type - 27 bytes) -------------------------------------------------
625
- "config={'custom': 'config'}"
625
+ "config={'custom': 'config'}"
626
626
  ============================================================================================================================================\
627
627
  """,
628
628
  """\
@@ -163,7 +163,7 @@ INFO | [01:000000.00] POST http://[&HTTPBIN]/post
163
163
  Content-Type: 'application/json;charset=utf-8'
164
164
  User-Agent: 'niquests/3.18.6'
165
165
  ---------------------------------------- request body ('application/json;charset=utf-8' - 15 bytes) ----------------------------------------
166
- b'{"foobar": 123}'
166
+ b'{"foobar": 123}'
167
167
  ============================================================================================================================================\
168
168
  """,
169
169
  """\
@@ -228,7 +228,7 @@ INFO | [01:000000.00] POST [&HTTPBIN]/post
228
228
  Content-Type: 'application/json;charset=utf-8'
229
229
  User-Agent: 'niquests/3.18.6'
230
230
  ---------------------------------------- request body ('application/json;charset=utf-8' - 15 bytes) ----------------------------------------
231
- b'{"foobar": 123}'
231
+ b'{"foobar": 123}'
232
232
  ============================================================================================================================================\
233
233
  """,
234
234
  "INFO | Playing response for <Request (POST) [&HTTPBIN]/post> from cassette",
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