djangocms-render-context 1.0.0__py3-none-any.whl → 1.2.0__py3-none-any.whl

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 (28) hide show
  1. djangocms_render_context/__init__.py +1 -1
  2. djangocms_render_context/cms_plugins.py +9 -0
  3. djangocms_render_context/forms.py +68 -3
  4. djangocms_render_context/loaders.py +21 -1
  5. djangocms_render_context/locale/cs/LC_MESSAGES/django.mo +0 -0
  6. djangocms_render_context/locale/cs/LC_MESSAGES/django.po +41 -7
  7. djangocms_render_context/locale/cs/LC_MESSAGES/djangojs.mo +0 -0
  8. djangocms_render_context/locale/cs/LC_MESSAGES/djangojs.po +130 -0
  9. djangocms_render_context/migrations/0001_initial.py +0 -2
  10. djangocms_render_context/migrations/0002_rendercontext_mimetype.py +33 -0
  11. djangocms_render_context/migrations/0003_rendercontext_config_and_path.py +46 -0
  12. djangocms_render_context/models.py +49 -8
  13. djangocms_render_context/static/djangocms_render_context/css-dist/icon-family-Material-Icons.css +20 -0
  14. djangocms_render_context/static/djangocms_render_context/css-dist/jspreadsheet.min.css +8 -0
  15. djangocms_render_context/static/djangocms_render_context/css-dist/jsuites.min.css +8 -0
  16. djangocms_render_context/static/djangocms_render_context/js/spreadsheet.js +711 -0
  17. djangocms_render_context/static/djangocms_render_context/js-dist/csv.min.js +1 -0
  18. djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js +8 -0
  19. djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js.map +1 -0
  20. djangocms_render_context/static/djangocms_render_context/js-dist/js-yaml.min.js +2 -0
  21. djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js +8 -0
  22. djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js.map +1 -0
  23. djangocms_render_context/utils.py +16 -0
  24. {djangocms_render_context-1.0.0.dist-info → djangocms_render_context-1.2.0.dist-info}/METADATA +17 -1
  25. djangocms_render_context-1.2.0.dist-info/RECORD +31 -0
  26. {djangocms_render_context-1.0.0.dist-info → djangocms_render_context-1.2.0.dist-info}/WHEEL +1 -1
  27. djangocms_render_context-1.0.0.dist-info/RECORD +0 -17
  28. {djangocms_render_context-1.0.0.dist-info → djangocms_render_context-1.2.0.dist-info}/top_level.txt +0 -0
@@ -2,12 +2,16 @@ from collections.abc import ValuesView
2
2
  from datetime import date, datetime
3
3
  from typing import Union
4
4
 
5
+ from django.template import Context
5
6
  from django.utils.formats import localize
6
7
 
7
8
  dataType = Union[str, dict, list, ValuesView, None] # noqa: UP007
9
+ dictContextType = Union[Context, dict] # noqa: UP007
10
+ strOrNoneType = Union[str, None] # noqa: UP007
8
11
 
9
12
 
10
13
  def get_data(data: dataType, level: int = 0) -> str:
14
+ """Get data."""
11
15
  wrapper, separator = "{}", "\n"
12
16
  if level == 0:
13
17
  separator = "</tr>\n<tr>\n"
@@ -25,6 +29,7 @@ def get_data(data: dataType, level: int = 0) -> str:
25
29
 
26
30
 
27
31
  def collect_data(data: dataType, wrapper: str, separator: str, level: int) -> str:
32
+ """Collect data."""
28
33
  content = []
29
34
  if isinstance(data, (tuple, list, ValuesView)):
30
35
  for item in data:
@@ -44,3 +49,14 @@ def collect_data(data: dataType, wrapper: str, separator: str, level: int) -> st
44
49
 
45
50
  def create_html(data: dataType) -> str:
46
51
  return f"""<table class="rc-data"><tbody><tr>{get_data(data)}</tr></tbody></table>"""
52
+
53
+
54
+ def get_context_from_path(context: dictContextType, path: strOrNoneType) -> dictContextType:
55
+ """Get context from the path."""
56
+ if path is not None:
57
+ for key in path.split("."):
58
+ if isinstance(context, (tuple, list)):
59
+ context = context[int(key)]
60
+ else:
61
+ context = context[key]
62
+ return context
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: djangocms-render-context
3
- Version: 1.0.0
3
+ Version: 1.2.0
4
4
  Summary: Render context into template.
5
5
  Author-email: Zdeněk Böhm <zdenek.bohm@nic.cz>
6
6
  License-Expression: BSD-3-Clause
@@ -26,6 +26,7 @@ Requires-Python: >=3.9
26
26
  Description-Content-Type: text/markdown
27
27
  Requires-Dist: django-cms<6,>=4.0
28
28
  Requires-Dist: django-filer~=3.4
29
+ Requires-Dist: django-sekizai~=4.1
29
30
  Requires-Dist: pyyaml
30
31
  Requires-Dist: requests
31
32
  Provides-Extra: quality
@@ -36,6 +37,7 @@ Requires-Dist: types-requests; extra == "quality"
36
37
  Provides-Extra: test
37
38
  Requires-Dist: testfixtures; extra == "test"
38
39
  Requires-Dist: responses; extra == "test"
40
+ Requires-Dist: packaging; extra == "test"
39
41
 
40
42
  # DjangoCMS Render Context
41
43
 
@@ -71,6 +73,20 @@ INSTALLED_APPS = [
71
73
  ]
72
74
  ```
73
75
 
76
+ Add into site `urls.py`:
77
+
78
+ ```python
79
+ from django.conf.urls.i18n import i18n_patterns
80
+ from django.views.i18n import JavaScriptCatalog
81
+ from django.urls import path
82
+
83
+ urlpatterns = [
84
+ ...
85
+ ] + i18n_patterns(
86
+ path('jsi18n/<slug:packages>/', JavaScriptCatalog.as_view(), name='jsi18n'),
87
+ )
88
+ ```
89
+
74
90
  ### Extra settings
75
91
 
76
92
  This value can be defined in settings.
@@ -0,0 +1,31 @@
1
+ djangocms_render_context/__init__.py,sha256=MpAT5hgNoHnTtG1XRD_GV_A7QrHVU6vJjGSw_8qMGA4,22
2
+ djangocms_render_context/cache.py,sha256=PwagqDTqh3I83e7Ru52ei4P05juZ6Ob_pILukGGtsTo,99
3
+ djangocms_render_context/cms_plugins.py,sha256=ie-wyB5tfqW-5b0FnmE6sCOO2K6KfUEC7dui1nBm2sg,1815
4
+ djangocms_render_context/encoders.py,sha256=TIIcj_6vgXlUH5D0oeozCA7ixN4WNnfrnk15bAmfpQ8,253
5
+ djangocms_render_context/exceptions.py,sha256=r5L-U90T_60CPSagcwWmu_r6DkbHAghg04uS8OvzTPo,69
6
+ djangocms_render_context/forms.py,sha256=4PRPrNSATh0TDytPUUBcWB9v2cnYb7lVjgtFB_aefe8,6578
7
+ djangocms_render_context/loaders.py,sha256=s3uRG-SBhZ_vlBf01dGc3usGiyVHTrA_vvDmw80zgdQ,7400
8
+ djangocms_render_context/models.py,sha256=KIbLway2Zg6ZEs4QyYB-6E8W6jdeuU7XdZK9gVzNrd8,5001
9
+ djangocms_render_context/utils.py,sha256=MGa0zP12SzqZ6SNm0Q75LFVVM8MGRzlUtixUk8fBCy4,2178
10
+ djangocms_render_context/locale/cs/LC_MESSAGES/django.mo,sha256=n-Xz1-1RXVjBqjahKdMvPY-A7GCrVIzBBT7O1GUviac,3979
11
+ djangocms_render_context/locale/cs/LC_MESSAGES/django.po,sha256=R3roh1jZVhtY282u99ENCnZkftGyx4rXwbP-NKKcSFI,4243
12
+ djangocms_render_context/locale/cs/LC_MESSAGES/djangojs.mo,sha256=EaJISUYKbmenGMfVZcvHxhU5WR1sLnM092_BuTTJeIw,2687
13
+ djangocms_render_context/locale/cs/LC_MESSAGES/djangojs.po,sha256=1RuZoRuCf466MwgVHm-MGC0BgzQ3Bk5_P5GPOq1HFBo,2809
14
+ djangocms_render_context/migrations/0001_initial.py,sha256=tg3Wu_KMfykrQKn2kYMm_3COyheNA6mqWv3h-IxnXqk,3728
15
+ djangocms_render_context/migrations/0002_rendercontext_mimetype.py,sha256=6FHuX_5U4lHWbH37145wuPSvdPqqEgVIbdPGEXec1ck,1006
16
+ djangocms_render_context/migrations/0003_rendercontext_config_and_path.py,sha256=9kAyzoIwk5HdB-wsLxX0ugBgv03uXmhpicCcpFYDFxI,1657
17
+ djangocms_render_context/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ djangocms_render_context/static/djangocms_render_context/css-dist/icon-family-Material-Icons.css,sha256=B72Q-ghQHu9YdGK-sNJnrvWVyVKS4AKjDFzVogtK8hE,475
19
+ djangocms_render_context/static/djangocms_render_context/css-dist/jspreadsheet.min.css,sha256=w78C-bdPJvG9DmQdyanqaG-_iJmzSdJFQQrDXJbNGHA,17151
20
+ djangocms_render_context/static/djangocms_render_context/css-dist/jsuites.min.css,sha256=gdX3h5a9aHAk7otLLnhpTX4ySpqB7IpHm-eVjL7pKZw,55230
21
+ djangocms_render_context/static/djangocms_render_context/js/spreadsheet.js,sha256=k23L9vvVvVSWDmird3Ub9PpfLowl-pcIOHoAXhc4L5Q,22701
22
+ djangocms_render_context/static/djangocms_render_context/js-dist/csv.min.js,sha256=2wvvOFhvLdcOJ04lMT833Uee8fuWb68wDFgfOip-2nc,3376
23
+ djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js,sha256=biT7M5jXwDd771y1iZKJyEWDethEA0JWQTegIx3qdyY,165070
24
+ djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js.map,sha256=f2Cn2FRZmilRV482Nf91wylXlmVT0QgM50jQrR6pddE,318014
25
+ djangocms_render_context/static/djangocms_render_context/js-dist/js-yaml.min.js,sha256=DePeyS0g6rngtGpdkozUXsAl1z40jd9Fjb-wHaAMtHM,39513
26
+ djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js,sha256=6M7eX8qajmviXT3KM7qt0aLhBKFLyQpy1GhJ23iv0iI,173654
27
+ djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js.map,sha256=L7Xogv6hoh4GCFtC-rQUkUuxgeN7c899qtjjSXqQqXI,658648
28
+ djangocms_render_context-1.2.0.dist-info/METADATA,sha256=cxrPvml1Ty8NNzxcR4Cr3wqJmifKcBZH7cUH_gl_IfE,3235
29
+ djangocms_render_context-1.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
30
+ djangocms_render_context-1.2.0.dist-info/top_level.txt,sha256=J82yBJeJTHoDzwzFIU3i4jFHxn3nAjgn-Fn5JSjVKQ8,25
31
+ djangocms_render_context-1.2.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,17 +0,0 @@
1
- djangocms_render_context/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
2
- djangocms_render_context/cache.py,sha256=PwagqDTqh3I83e7Ru52ei4P05juZ6Ob_pILukGGtsTo,99
3
- djangocms_render_context/cms_plugins.py,sha256=YBNH5Rh79xdC2puO3HOLZ0R6miUDBelGd-rmPAQ2Epo,1591
4
- djangocms_render_context/encoders.py,sha256=TIIcj_6vgXlUH5D0oeozCA7ixN4WNnfrnk15bAmfpQ8,253
5
- djangocms_render_context/exceptions.py,sha256=r5L-U90T_60CPSagcwWmu_r6DkbHAghg04uS8OvzTPo,69
6
- djangocms_render_context/forms.py,sha256=bpfoWoHUZXzhobH_fekH5txXRLQIKjMsxl8n6Yi-6fs,3754
7
- djangocms_render_context/loaders.py,sha256=JUFOwXCPbRG-4J79nrIT1AiRgq_je7km5VGhnO22Uxs,6774
8
- djangocms_render_context/models.py,sha256=BmdQQi47vZjkf1vaQr7KyfeSw9tAmY0atnoNfA2AgxI,3404
9
- djangocms_render_context/utils.py,sha256=HmkARbCxCJ6-SNRuH7zI4BY3BBf87c9cQuwBUNId53I,1632
10
- djangocms_render_context/locale/cs/LC_MESSAGES/django.mo,sha256=sxF9h5d4-av6CQoVXCSIKuIw_KMyCzmKJ7N74rD0hus,2903
11
- djangocms_render_context/locale/cs/LC_MESSAGES/django.po,sha256=bQMJnXI6CkCbMfbJ56SvirX1_rJOVwFLxJjFe2tsQeE,3157
12
- djangocms_render_context/migrations/0001_initial.py,sha256=bdIs0Jl8M8JcC-i03vxp612Lim_mUJ-BOaq2D3YI6uw,3854
13
- djangocms_render_context/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- djangocms_render_context-1.0.0.dist-info/METADATA,sha256=k1wb9eo0N7fBlLk8Xm4nv5zWddbQSJRjrcsQxYwEmSA,2865
15
- djangocms_render_context-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- djangocms_render_context-1.0.0.dist-info/top_level.txt,sha256=J82yBJeJTHoDzwzFIU3i4jFHxn3nAjgn-Fn5JSjVKQ8,25
17
- djangocms_render_context-1.0.0.dist-info/RECORD,,