django-pfx 1.2.dev99__tar.gz → 1.2.dev101__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 (122) hide show
  1. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/PKG-INFO +1 -1
  2. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/django_pfx.egg-info/PKG-INFO +1 -1
  3. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/django_pfx.egg-info/SOURCES.txt +1 -1
  4. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/conf.py +11 -1
  5. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/index.rst +1 -1
  6. django-pfx-1.2.dev99/doc/source/pfxcore.views.rst → django-pfx-1.2.dev101/doc/source/api.views.rst +15 -1
  7. django-pfx-1.2.dev101/doc/source/internationalisation.md +41 -0
  8. django-pfx-1.2.dev99/doc/source/internationalisation.md +0 -5
  9. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/.gitignore +0 -0
  10. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/.gitlab-ci.yml +0 -0
  11. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/.pre-commit-config.yaml +0 -0
  12. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/LICENSE +0 -0
  13. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/MANIFEST.in +0 -0
  14. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/README.md +0 -0
  15. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/django_pfx.egg-info/dependency_links.txt +0 -0
  16. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/django_pfx.egg-info/requires.txt +0 -0
  17. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/django_pfx.egg-info/top_level.txt +0 -0
  18. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/Makefile +0 -0
  19. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/authentication.md +0 -0
  20. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/cookbook.md +0 -0
  21. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/decorator.md +0 -0
  22. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/getting_started.md +0 -0
  23. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/model.md +0 -0
  24. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/pfx_views.md +0 -0
  25. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/doc/source/testing.md +0 -0
  26. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/img/pfx.png +0 -0
  27. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/img/pfx.svg +0 -0
  28. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/__init__.py +0 -0
  29. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/__init__.py +0 -0
  30. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/apidoc/__init__.py +0 -0
  31. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/apidoc/parameters.py +0 -0
  32. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/apidoc/schema.py +0 -0
  33. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/apidoc/tags.py +0 -0
  34. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/apps.py +0 -0
  35. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/decorator/__init__.py +0 -0
  36. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/decorator/rest.py +0 -0
  37. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/default_settings.py +0 -0
  38. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/exceptions.py +0 -0
  39. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/fields.py +0 -0
  40. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/http/__init__.py +0 -0
  41. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/http/json_response.py +0 -0
  42. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
  43. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
  44. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/management/__init__.py +0 -0
  45. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/management/commands/__init__.py +0 -0
  46. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
  47. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/middleware/__init__.py +0 -0
  48. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/middleware/authentication.py +0 -0
  49. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/middleware/locale.py +0 -0
  50. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/models/__init__.py +0 -0
  51. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/models/cache_mixins.py +0 -0
  52. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/models/not_null_fields.py +0 -0
  53. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/models/pfx_models.py +0 -0
  54. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
  55. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/serializers/__init__.py +0 -0
  56. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/serializers/json.py +0 -0
  57. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/settings.py +0 -0
  58. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/shortcuts.py +0 -0
  59. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/storage/__init__.py +0 -0
  60. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/storage/s3_storage.py +0 -0
  61. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
  62. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
  63. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
  64. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
  65. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/test.py +0 -0
  66. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/urls.py +0 -0
  67. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/__init__.py +0 -0
  68. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/authentication_views.py +0 -0
  69. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/fields.py +0 -0
  70. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/filters_views.py +0 -0
  71. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/locale_views.py +0 -0
  72. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/__init__.py +0 -0
  73. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/date_format.py +0 -0
  74. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/groups.py +0 -0
  75. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/list_count.py +0 -0
  76. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/list_items.py +0 -0
  77. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
  78. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/list_order.py +0 -0
  79. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/list_search.py +0 -0
  80. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
  81. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
  82. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
  83. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
  84. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset.py +0 -0
  85. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
  86. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
  87. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
  88. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
  89. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
  90. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pfx/pfxcore/views/rest_views.py +0 -0
  91. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/pyproject.toml +0 -0
  92. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/requirements.txt +0 -0
  93. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/runtest.py +0 -0
  94. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/setup.cfg +0 -0
  95. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/setup.py +0 -0
  96. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/__init__.py +0 -0
  97. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/models.py +0 -0
  98. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/__init__.py +0 -0
  99. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/ci.py +0 -0
  100. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/common.py +0 -0
  101. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/dev.py +0 -0
  102. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/dev_custom_example.py +0 -0
  103. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/settings/dev_default.py +0 -0
  104. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/__init__.py +0 -0
  105. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/basic_api_errors.py +0 -0
  106. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/basic_api_test.py +0 -0
  107. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_api_doc.py +0 -0
  108. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_auth_api.py +0 -0
  109. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_cache.py +0 -0
  110. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_fields.py +0 -0
  111. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_filters.py +0 -0
  112. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_locale_api.py +0 -0
  113. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_perm_tests.py +0 -0
  114. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_perms_api.py +0 -0
  115. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_shortcuts.py +0 -0
  116. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_timezone_middleware.py +0 -0
  117. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_tools.py +0 -0
  118. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_user_queryset.py +0 -0
  119. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_view_decorators.py +0 -0
  120. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/tests/test_view_fields.py +0 -0
  121. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/urls.py +0 -0
  122. {django-pfx-1.2.dev99 → django-pfx-1.2.dev101}/tests/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.2.dev99
3
+ Version: 1.2.dev101
4
4
  Summary: Django PFX is a toolkit to build web APIs dedicated to be used by React progressive web app.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.2.dev99
3
+ Version: 1.2.dev101
4
4
  Summary: Django PFX is a toolkit to build web APIs dedicated to be used by React progressive web app.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -17,6 +17,7 @@ django_pfx.egg-info/top_level.txt
17
17
  doc/Makefile
18
18
  doc/conf.py
19
19
  doc/index.rst
20
+ doc/source/api.views.rst
20
21
  doc/source/authentication.md
21
22
  doc/source/cookbook.md
22
23
  doc/source/decorator.md
@@ -24,7 +25,6 @@ doc/source/getting_started.md
24
25
  doc/source/internationalisation.md
25
26
  doc/source/model.md
26
27
  doc/source/pfx_views.md
27
- doc/source/pfxcore.views.rst
28
28
  doc/source/testing.md
29
29
  img/pfx.png
30
30
  img/pfx.svg
@@ -16,6 +16,8 @@ import sys
16
16
  import django
17
17
  from django.conf import settings
18
18
 
19
+ from sphinx.ext.autodoc import between
20
+
19
21
  sys.path.insert(0, os.path.abspath('../'))
20
22
  settings.configure(
21
23
  SECRET_KEY='something to make Django happy',
@@ -26,8 +28,16 @@ settings.configure(
26
28
  'pfx.pfxcore'])
27
29
  django.setup()
28
30
 
29
- # -- Project information -----------------------------------------------------
30
31
 
32
+ def setup(app):
33
+ # Register a sphinx.ext.autodoc.between listener to ignore everything
34
+ # between lines that contain --- and """ (yaml from apispec)
35
+ app.connect('autodoc-process-docstring',
36
+ between('^.*(---|""")$', exclude=True))
37
+ return app
38
+
39
+
40
+ # -- Project information -----------------------------------------------------
31
41
  project = 'Django PFX'
32
42
  copyright = '2021, Hervé Martinet, Nicolas Béraneck'
33
43
  author = 'Hervé Martinet, Nicolas Béraneck'
@@ -24,12 +24,12 @@ Topics
24
24
  source/getting_started
25
25
  source/decorator
26
26
  source/pfx_views
27
- source/pfxcore.views
28
27
  source/model
29
28
  source/internationalisation
30
29
  source/authentication
31
30
  source/cookbook
32
31
  source/testing
32
+ source/api.views
33
33
 
34
34
  Indices and tables
35
35
  ==================
@@ -1,4 +1,4 @@
1
- Django PFX views
1
+ API
2
2
  =====================
3
3
 
4
4
  The ``DetailRestViewMixin`` class
@@ -10,6 +10,20 @@ The ``DetailRestViewMixin`` class
10
10
 
11
11
  .. :inherited-members:
12
12
 
13
+ The ``LocaleMiddleware`` class
14
+ *********************************
15
+ .. autoclass:: pfx.pfxcore.middleware.LocaleMiddleware
16
+ :members:
17
+ :undoc-members:
18
+ :show-inheritance:
19
+
20
+ The ``LocaleRestView`` class
21
+ *********************************
22
+ .. autoclass:: pfx.pfxcore.views.LocaleRestView
23
+ :members:
24
+ :undoc-members:
25
+ :show-inheritance:
26
+
13
27
  The ``ModelMixin`` class
14
28
  *********************************
15
29
  .. autoclass:: pfx.pfxcore.views.ModelMixin
@@ -0,0 +1,41 @@
1
+ # Internationalisation
2
+
3
+ ## Translated strings
4
+
5
+ Use Django's standard way of translating strings (verbose name, choices values, messages, ...).
6
+ PFX will use the translated values according to the requested language.
7
+
8
+ ## Specify available languages
9
+
10
+ In Django, `USE_I18N` must be `True` to use internationalization. Use `LANGUAGE_CODE` to set default locale.
11
+
12
+ You can optionally set `USE_L10N` to `True` (see Django documentation).
13
+
14
+ In Addition, you can set the list of available languages for web services with `LANGUAGES`:
15
+ ```
16
+ LANGUAGES = [
17
+ ('fr', "French"),
18
+ ('en', "English"),
19
+ ]
20
+ ```
21
+
22
+ You can use language only code of language and country.
23
+
24
+ Service responses will use the first language of `Accept-Language` present in `LANGUAGES`.
25
+ Use `X-Custom-Language` to force the use of a specific language.
26
+
27
+ ## LocaleRestView
28
+
29
+ The `LocaleRestView` exposes a service on `/locales/languages` which returns the list of
30
+ available languages.
31
+
32
+ ## LocaleMiddleware
33
+
34
+ To enable internationalization in services, you have to add `'pfx.pfxcore.middleware.LocaleMiddleware'`
35
+ in the `MIDDLEWARE` list.
36
+
37
+ This middleware will use:
38
+ * `LANGUAGES`, `LANGUAGE_CODE`, `Accept-Language` and `X-Custom-Language` to set the language.
39
+ * `TIME_ZONE` and `X-Custom-Timezone` sot set the timezone.
40
+
41
+ You can replace it by a custom middleware if you need another specific behavior.
@@ -1,5 +0,0 @@
1
- # Internationalisation
2
-
3
- - parameters
4
- - LocaleMiddleware
5
- - LocaleRestView
File without changes
File without changes