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.
Files changed (97) hide show
  1. {python_liquid-2.3.1 → python_liquid-2.3.2}/PKG-INFO +2 -2
  2. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/__init__.py +1 -1
  3. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/loop.py +7 -1
  4. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/primitive.py +1 -14
  5. {python_liquid-2.3.1 → python_liquid-2.3.2}/.gitignore +0 -0
  6. {python_liquid-2.3.1 → python_liquid-2.3.2}/LICENSE +0 -0
  7. {python_liquid-2.3.1 → python_liquid-2.3.2}/README.md +0 -0
  8. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/analyze_tags.py +0 -0
  9. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/ast.py +0 -0
  10. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/__init__.py +0 -0
  11. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/content.py +0 -0
  12. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/drops/__init__.py +0 -0
  13. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/drops/drops.py +0 -0
  14. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/__init__.py +0 -0
  15. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/_tokenize.py +0 -0
  16. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/arguments.py +0 -0
  17. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/filtered.py +0 -0
  18. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/logical.py +0 -0
  19. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/expressions/path.py +0 -0
  20. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/__init__.py +0 -0
  21. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/array.py +0 -0
  22. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/extra.py +0 -0
  23. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/math.py +0 -0
  24. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/misc.py +0 -0
  25. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/filters/string.py +0 -0
  26. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/illegal.py +0 -0
  27. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/__init__.py +0 -0
  28. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/caching_file_system_loader.py +0 -0
  29. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/choice_loader.py +0 -0
  30. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/dict_loader.py +0 -0
  31. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/file_system_loader.py +0 -0
  32. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/mixins.py +0 -0
  33. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/loaders/package_loader.py +0 -0
  34. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/output.py +0 -0
  35. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/__init__.py +0 -0
  36. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/assign_tag.py +0 -0
  37. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/capture_tag.py +0 -0
  38. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/case_tag.py +0 -0
  39. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/comment_tag.py +0 -0
  40. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/cycle_tag.py +0 -0
  41. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/decrement_tag.py +0 -0
  42. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/doc_tag.py +0 -0
  43. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/echo_tag.py +0 -0
  44. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/for_tag.py +0 -0
  45. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/if_tag.py +0 -0
  46. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/ifchanged_tag.py +0 -0
  47. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/include_tag.py +0 -0
  48. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/increment_tag.py +0 -0
  49. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/inline_comment_tag.py +0 -0
  50. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/liquid_tag.py +0 -0
  51. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/render_tag.py +0 -0
  52. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/tablerow_tag.py +0 -0
  53. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/builtin/tags/unless_tag.py +0 -0
  54. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/context.py +0 -0
  55. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/environment.py +0 -0
  56. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/exceptions.py +0 -0
  57. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/expression.py +0 -0
  58. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/__init__.py +0 -0
  59. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/__init__.py +0 -0
  60. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/_json.py +0 -0
  61. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/array.py +0 -0
  62. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/babel.py +0 -0
  63. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/html.py +0 -0
  64. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/filters/translate.py +0 -0
  65. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/__init__.py +0 -0
  66. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/_with.py +0 -0
  67. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/extends_tag.py +0 -0
  68. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/macro_tag.py +0 -0
  69. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/snippet_tag.py +0 -0
  70. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/extra/tags/translate_tag.py +0 -0
  71. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/filter.py +0 -0
  72. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/__init__.py +0 -0
  73. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/environment.py +0 -0
  74. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/filters/__init__.py +0 -0
  75. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/future/tags/__init__.py +0 -0
  76. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/lex.py +0 -0
  77. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/limits.py +0 -0
  78. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/loader.py +0 -0
  79. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/messages.py +0 -0
  80. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/mode.py +0 -0
  81. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/output.py +0 -0
  82. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/parser.py +0 -0
  83. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/py.typed +0 -0
  84. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/span.py +0 -0
  85. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/static_analysis.py +0 -0
  86. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/stream.py +0 -0
  87. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/stringify.py +0 -0
  88. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/tag.py +0 -0
  89. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/template.py +0 -0
  90. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/token.py +0 -0
  91. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/undefined.py +0 -0
  92. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/__init__.py +0 -0
  93. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/chain_map.py +0 -0
  94. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/html.py +0 -0
  95. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/lru_cache.py +0 -0
  96. {python_liquid-2.3.1 → python_liquid-2.3.2}/liquid/utils/text.py +0 -0
  97. {python_liquid-2.3.1 → python_liquid-2.3.2}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: python-liquid
3
- Version: 2.3.1
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/
@@ -56,7 +56,7 @@ from .tag import Tag
56
56
 
57
57
  from . import future
58
58
 
59
- __version__ = "2.3.1"
59
+ __version__ = "2.3.2"
60
60
 
61
61
  __all__ = (
62
62
  "AwareBoundTemplate",
@@ -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
- return iter(obj), len(obj)
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