python-liquid 2.3.1__tar.gz → 2.3.2__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.
- {python_liquid-2.3.1 → python_liquid-2.3.2}/PKG-INFO +2 -2
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/__init__.py +1 -1
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/loop.py +7 -1
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/primitive.py +1 -14
- {python_liquid-2.3.1 → python_liquid-2.3.2}/.gitignore +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/LICENSE +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/README.md +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/analyze_tags.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/ast.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/content.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/drops/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/drops/drops.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/_tokenize.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/arguments.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/filtered.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/logical.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/path.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/array.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/extra.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/math.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/misc.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/string.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/illegal.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/caching_file_system_loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/choice_loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/dict_loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/file_system_loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/mixins.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/package_loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/output.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/assign_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/capture_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/case_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/comment_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/cycle_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/decrement_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/doc_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/echo_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/for_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/if_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/ifchanged_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/include_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/increment_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/inline_comment_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/liquid_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/render_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/tablerow_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/unless_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/context.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/environment.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/exceptions.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/expression.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/_json.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/array.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/babel.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/html.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/translate.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/_with.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/extends_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/macro_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/snippet_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/translate_tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/filter.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/environment.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/filters/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/tags/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/lex.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/limits.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/loader.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/messages.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/mode.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/output.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/parser.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/py.typed +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/span.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/static_analysis.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/stream.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/stringify.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/tag.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/template.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/token.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/undefined.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/__init__.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/chain_map.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/html.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/lru_cache.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/text.py +0 -0
- {python_liquid-2.3.1 → python_liquid-2.3.2}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: python-liquid
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: A Python engine for the Liquid template language.
|
|
5
5
|
Project-URL: Change Log, https://github.com/jg-rp/liquid/blob/main/CHANGES.md
|
|
6
6
|
Project-URL: Documentation, https://jg-rp.github.io/liquid/
|
|
@@ -13,6 +13,7 @@ from typing import Union
|
|
|
13
13
|
from liquid import Mode
|
|
14
14
|
from liquid.exceptions import LiquidSyntaxError
|
|
15
15
|
from liquid.exceptions import LiquidTypeError
|
|
16
|
+
from liquid.exceptions import LiquidValueError
|
|
16
17
|
from liquid.expression import Expression
|
|
17
18
|
from liquid.limits import to_int
|
|
18
19
|
from liquid.token import TOKEN_ASSIGN
|
|
@@ -95,7 +96,12 @@ class LoopExpression(Expression):
|
|
|
95
96
|
if isinstance(obj, Mapping):
|
|
96
97
|
return iter(obj.items()), len(obj)
|
|
97
98
|
if isinstance(obj, range):
|
|
98
|
-
|
|
99
|
+
try:
|
|
100
|
+
return iter(obj), len(obj)
|
|
101
|
+
except OverflowError as err:
|
|
102
|
+
raise LiquidValueError(
|
|
103
|
+
"range literal length limit reached", token=None
|
|
104
|
+
) from err
|
|
99
105
|
if isinstance(obj, str) and not context.env.string_sequences:
|
|
100
106
|
return (iter([]), 0) if not obj else (iter([obj]), 1)
|
|
101
107
|
if isinstance(obj, Sequence):
|
|
@@ -39,12 +39,6 @@ if TYPE_CHECKING:
|
|
|
39
39
|
from liquid import TokenStream
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
# MAX_RANGE = (2**53) - 1
|
|
43
|
-
# MIN_RANGE = -(2**53) + 1
|
|
44
|
-
MAX_RANGE = 1024
|
|
45
|
-
MIN_RANGE = -1024
|
|
46
|
-
|
|
47
|
-
|
|
48
42
|
class Nil(Expression):
|
|
49
43
|
__slots__ = ()
|
|
50
44
|
|
|
@@ -255,9 +249,7 @@ class RangeLiteral(Expression):
|
|
|
255
249
|
if start > stop:
|
|
256
250
|
return range(0)
|
|
257
251
|
|
|
258
|
-
return range(
|
|
259
|
-
clamp(start, MIN_RANGE, MAX_RANGE), clamp(stop + 1, MIN_RANGE, MAX_RANGE)
|
|
260
|
-
)
|
|
252
|
+
return range(start, stop + 1)
|
|
261
253
|
|
|
262
254
|
def evaluate(self, context: RenderContext) -> range:
|
|
263
255
|
return self._make_range(
|
|
@@ -423,8 +415,3 @@ def parse_string_or_path(
|
|
|
423
415
|
def is_empty(obj: object) -> bool:
|
|
424
416
|
"""Return True if _obj_ is considered empty."""
|
|
425
417
|
return isinstance(obj, (list, dict, str)) and not obj
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
def clamp(n: int, min_value: int, max_value: int) -> int:
|
|
429
|
-
"""Clamp _n_ between _min_value_ and _max_value_."""
|
|
430
|
-
return max(min_value, min(n, max_value))
|
|
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
|
{python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/caching_file_system_loader.py
RENAMED
|
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
|