ransacklib 1.1.0.dev0__tar.gz → 1.1.0.dev1__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.
- {ransacklib-1.1.0.dev0/ransacklib.egg-info → ransacklib-1.1.0.dev1}/PKG-INFO +1 -1
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/pyproject.toml +1 -1
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/__init__.py +8 -2
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/transformer.py +4 -2
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1/ransacklib.egg-info}/PKG-INFO +1 -1
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/LICENSE +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/README.rst +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/exceptions.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/function.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/operator.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/parser.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransack/py.typed +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransacklib.egg-info/SOURCES.txt +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransacklib.egg-info/dependency_links.txt +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransacklib.egg-info/requires.txt +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/ransacklib.egg-info/top_level.txt +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/setup.cfg +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/tests/test_operator.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/tests/test_parser.py +0 -0
- {ransacklib-1.1.0.dev0 → ransacklib-1.1.0.dev1}/tests/test_transformer.py +0 -0
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
2
|
+
|
|
1
3
|
from .exceptions import EvaluationError, ParseError, RansackError, ShapeError
|
|
2
4
|
from .parser import Parser
|
|
3
|
-
from .transformer import Filter, get_values
|
|
5
|
+
from .transformer import Filter, SQLInterpreter, get_values
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
try:
|
|
8
|
+
__version__ = version("ransacklib")
|
|
9
|
+
except PackageNotFoundError:
|
|
10
|
+
__version__ = "0.0.0"
|
|
6
11
|
|
|
7
12
|
__all__ = (
|
|
8
13
|
"EvaluationError",
|
|
@@ -10,6 +15,7 @@ __all__ = (
|
|
|
10
15
|
"ParseError",
|
|
11
16
|
"Parser",
|
|
12
17
|
"RansackError",
|
|
18
|
+
"SQLInterpreter",
|
|
13
19
|
"ShapeError",
|
|
14
20
|
"get_values",
|
|
15
21
|
)
|
|
@@ -958,8 +958,10 @@ class SQLInterpreter(Interpreter):
|
|
|
958
958
|
return self._binary_operation("contains", l_tree, r_tree)
|
|
959
959
|
|
|
960
960
|
def exists_op(self, path: Token) -> tuple[str, type[bool]]:
|
|
961
|
-
|
|
961
|
+
var, _ = self.var_from_data(TokenWrapper(path, path))
|
|
962
|
+
return f"{var!s} is not null", bool
|
|
962
963
|
|
|
963
964
|
def exists_with_default(self, path: Token, default: Any) -> Any:
|
|
965
|
+
var, _ = self.var_from_data(TokenWrapper(path, path))
|
|
964
966
|
sql, type_ = self.visit(default)
|
|
965
|
-
return f"COALESCE({
|
|
967
|
+
return f"COALESCE({var!s}, {sql})", type_
|
|
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
|