Skip to content

Commit 1383cbb

Browse files
committed
Refactor fix from previous commit
1 parent 3ba319c commit 1383cbb

1 file changed

Lines changed: 7 additions & 12 deletions

File tree

caterva2/services/server.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -717,17 +717,8 @@ def make_expr(
717717
if (not expression and not func) or (not remotepath and not name):
718718
raise ValueError("name/remotepath and expression should not be empty")
719719

720-
# Open expression datasets
721-
# For expressions, only open the operands actually used
722-
# For functions, we need all operands in order
723-
if func is None:
724-
vars_to_open = blosc2.get_expr_operands(expression.strip())
725-
else:
726-
vars_to_open = vars.keys()
727-
728720
var_dict = {}
729-
for var in vars_to_open:
730-
path = vars[var]
721+
for var, path in vars.items():
731722
# Detect special roots
732723
path = pathlib.Path(path)
733724
abspath = get_writable_path(path, user)
@@ -2148,11 +2139,15 @@ async def htmx_command(
21482139
compute = operator == ":="
21492140
try:
21502141
result_name, expr = command.split(operator, maxsplit=1)
2142+
alt_ops = {}
21512143
if "#" in expr: # get alternative operands
21522144
expr, alt_ops = expr.split("#", maxsplit=1)
21532145
alt_ops = ast.literal_eval(alt_ops.strip()) # convert str to dict
2154-
for k, v in alt_ops.items():
2155-
operands[k] = v # overwrite or add operands if necessary
2146+
opkeys = blosc2.get_expr_operands(expr.strip()) # get operands from expression
2147+
operands = {k: operands[k] for k in opkeys}
2148+
for k, v in alt_ops.items():
2149+
operands[k] = v # overwrite or add operands if necessary
2150+
21562151
expr = {
21572152
"name": result_name,
21582153
"expression": expr,

0 commit comments

Comments
 (0)