djangocms-render-context 1.1.0__py3-none-any.whl → 1.2.1__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 (27) hide show
  1. djangocms_render_context/__init__.py +1 -1
  2. djangocms_render_context/cms_plugins.py +8 -0
  3. djangocms_render_context/encoders.py +8 -0
  4. djangocms_render_context/forms.py +46 -0
  5. djangocms_render_context/locale/cs/LC_MESSAGES/django.mo +0 -0
  6. djangocms_render_context/locale/cs/LC_MESSAGES/django.po +30 -2
  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/0003_rendercontext_config_and_path.py +46 -0
  10. djangocms_render_context/models.py +42 -5
  11. djangocms_render_context/static/djangocms_render_context/css/spreadsheet.css +15 -0
  12. djangocms_render_context/static/djangocms_render_context/css-dist/icon-family-Material-Icons.css +20 -0
  13. djangocms_render_context/static/djangocms_render_context/css-dist/jspreadsheet.min.css +8 -0
  14. djangocms_render_context/static/djangocms_render_context/css-dist/jsuites.min.css +8 -0
  15. djangocms_render_context/static/djangocms_render_context/js/spreadsheet.js +711 -0
  16. djangocms_render_context/static/djangocms_render_context/js-dist/csv.min.js +1 -0
  17. djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js +8 -0
  18. djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js.map +1 -0
  19. djangocms_render_context/static/djangocms_render_context/js-dist/js-yaml.min.js +2 -0
  20. djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js +8 -0
  21. djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js.map +1 -0
  22. djangocms_render_context/utils.py +16 -0
  23. {djangocms_render_context-1.1.0.dist-info → djangocms_render_context-1.2.1.dist-info}/METADATA +16 -1
  24. djangocms_render_context-1.2.1.dist-info/RECORD +32 -0
  25. {djangocms_render_context-1.1.0.dist-info → djangocms_render_context-1.2.1.dist-info}/WHEEL +1 -1
  26. djangocms_render_context-1.1.0.dist-info/RECORD +0 -17
  27. {djangocms_render_context-1.1.0.dist-info → djangocms_render_context-1.2.1.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.1.0
3
+ Version: 1.2.1
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
@@ -37,6 +37,7 @@ Requires-Dist: types-requests; extra == "quality"
37
37
  Provides-Extra: test
38
38
  Requires-Dist: testfixtures; extra == "test"
39
39
  Requires-Dist: responses; extra == "test"
40
+ Requires-Dist: packaging; extra == "test"
40
41
 
41
42
  # DjangoCMS Render Context
42
43
 
@@ -72,6 +73,20 @@ INSTALLED_APPS = [
72
73
  ]
73
74
  ```
74
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
+
75
90
  ### Extra settings
76
91
 
77
92
  This value can be defined in settings.
@@ -0,0 +1,32 @@
1
+ djangocms_render_context/__init__.py,sha256=Mlm4Gvmb_6yQxwUbv2Ksc-BJFXLPg9H1Vt2iV7wXrA4,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/spreadsheet.css,sha256=6D1grUB3G6TifnzL_ytaW7VKUKoEukxHNDmfelNoZaI,271
19
+ djangocms_render_context/static/djangocms_render_context/css-dist/icon-family-Material-Icons.css,sha256=B72Q-ghQHu9YdGK-sNJnrvWVyVKS4AKjDFzVogtK8hE,475
20
+ djangocms_render_context/static/djangocms_render_context/css-dist/jspreadsheet.min.css,sha256=w78C-bdPJvG9DmQdyanqaG-_iJmzSdJFQQrDXJbNGHA,17151
21
+ djangocms_render_context/static/djangocms_render_context/css-dist/jsuites.min.css,sha256=gdX3h5a9aHAk7otLLnhpTX4ySpqB7IpHm-eVjL7pKZw,55230
22
+ djangocms_render_context/static/djangocms_render_context/js/spreadsheet.js,sha256=rbuzuBVyLGbQ9ovosOCwlLQ9n8-tK9pl4o4s-VdEN2Y,22726
23
+ djangocms_render_context/static/djangocms_render_context/js-dist/csv.min.js,sha256=2wvvOFhvLdcOJ04lMT833Uee8fuWb68wDFgfOip-2nc,3376
24
+ djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js,sha256=biT7M5jXwDd771y1iZKJyEWDethEA0JWQTegIx3qdyY,165070
25
+ djangocms_render_context/static/djangocms_render_context/js-dist/index.min.js.map,sha256=f2Cn2FRZmilRV482Nf91wylXlmVT0QgM50jQrR6pddE,318014
26
+ djangocms_render_context/static/djangocms_render_context/js-dist/js-yaml.min.js,sha256=DePeyS0g6rngtGpdkozUXsAl1z40jd9Fjb-wHaAMtHM,39513
27
+ djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js,sha256=6M7eX8qajmviXT3KM7qt0aLhBKFLyQpy1GhJ23iv0iI,173654
28
+ djangocms_render_context/static/djangocms_render_context/js-dist/jsuites.min.js.map,sha256=L7Xogv6hoh4GCFtC-rQUkUuxgeN7c899qtjjSXqQqXI,658648
29
+ djangocms_render_context-1.2.1.dist-info/METADATA,sha256=1oGSJqk9GPzJMyHk4zmWt09YbhTR_z9GN6KSq2NBT2U,3235
30
+ djangocms_render_context-1.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
31
+ djangocms_render_context-1.2.1.dist-info/top_level.txt,sha256=J82yBJeJTHoDzwzFIU3i4jFHxn3nAjgn-Fn5JSjVKQ8,25
32
+ djangocms_render_context-1.2.1.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=LGVQyDsWifdACo7qztwb8RWWHds1E7uQ-ZqD8SAjyw4,22
2
- djangocms_render_context/cache.py,sha256=PwagqDTqh3I83e7Ru52ei4P05juZ6Ob_pILukGGtsTo,99
3
- djangocms_render_context/cms_plugins.py,sha256=GMtqfSyn2YM48ifgJSTJ5LyRBA0WhvIkqtF_ymMBwME,1623
4
- djangocms_render_context/exceptions.py,sha256=r5L-U90T_60CPSagcwWmu_r6DkbHAghg04uS8OvzTPo,69
5
- djangocms_render_context/forms.py,sha256=3gmFDTcqwXp9FNfZvIHbuSWsTzdkBuidcnGsQlX9B2o,4392
6
- djangocms_render_context/loaders.py,sha256=s3uRG-SBhZ_vlBf01dGc3usGiyVHTrA_vvDmw80zgdQ,7400
7
- djangocms_render_context/models.py,sha256=OqWONL6LaEeEBOgcjOk1QpeEE4qeip-FHUbdHrNWlkQ,3648
8
- djangocms_render_context/utils.py,sha256=HmkARbCxCJ6-SNRuH7zI4BY3BBf87c9cQuwBUNId53I,1632
9
- djangocms_render_context/locale/cs/LC_MESSAGES/django.mo,sha256=ML6jtfvv6ZzClweXXeqJmHRvWzH-iUkJozA40OkYyZ8,3126
10
- djangocms_render_context/locale/cs/LC_MESSAGES/django.po,sha256=kn-ZDENpLYDwaooBdM50qM_oCRfjXpMb2Eo7H8Jg3Kk,3352
11
- djangocms_render_context/migrations/0001_initial.py,sha256=tg3Wu_KMfykrQKn2kYMm_3COyheNA6mqWv3h-IxnXqk,3728
12
- djangocms_render_context/migrations/0002_rendercontext_mimetype.py,sha256=6FHuX_5U4lHWbH37145wuPSvdPqqEgVIbdPGEXec1ck,1006
13
- djangocms_render_context/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- djangocms_render_context-1.1.0.dist-info/METADATA,sha256=eCo5vGsqPH6I2BymyT8c2IEEa1qyZ5XbwX5f3Xc_bYk,2900
15
- djangocms_render_context-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- djangocms_render_context-1.1.0.dist-info/top_level.txt,sha256=J82yBJeJTHoDzwzFIU3i4jFHxn3nAjgn-Fn5JSjVKQ8,25
17
- djangocms_render_context-1.1.0.dist-info/RECORD,,