Skip to content

Commit f7d2335

Browse files
committed
fix(register_polynomial): Pass overwrite parameter, add verbose error logging
- register_polynomial_from_subframe() accepts overwrite=False, forwards to register_function() - _draw_single_figure() now prints errors to console when verbose=True
1 parent efdfb13 commit f7d2335

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

UTILS/dfextensions/AliasDataFrame/AliasDataFrame.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10116,7 +10116,8 @@ def register_function(self, name, func, overwrite=False):
1011610116
self._registered_functions[name] = func
1011710117

1011810118
def register_polynomial_from_subframe(self, func_name, poly_spec,
10119-
coefficients_subframe, coeff_select):
10119+
coefficients_subframe, coeff_select,
10120+
overwrite=False):
1012010121
"""
1012110122
Register a polynomial function that reads coefficients from a subframe.
1012210123
Coefficients are accessed via join indices — no column materialization.
@@ -10133,6 +10134,8 @@ def register_polynomial_from_subframe(self, func_name, poly_spec,
1013310134
Coefficient columns, ordered to match poly_spec terms.
1013410135
- list: explicit column names (safest)
1013510136
- str: regexp pattern to match against subframe columns
10137+
overwrite : bool, default False
10138+
If True, allow replacing an existing registered function.
1013610139
1013710140
Example
1013810141
-------
@@ -10161,7 +10164,7 @@ def register_polynomial_from_subframe(self, func_name, poly_spec,
1016110164

1016210165
# Generate Numba evaluator
1016310166
evaluator = poly_spec.numba_evaluator(self, coefficients_subframe, coeff_cols)
10164-
self.register_function(func_name, evaluator)
10167+
self.register_function(func_name, evaluator, overwrite=overwrite)
1016510168

1016610169
# Store in schema for reconstruction
1016710170
if not self._schema.get('registered_functions'):
@@ -10829,6 +10832,8 @@ def _draw_single_figure(
1082910832
except Exception as e:
1083010833
if on_error == 'raise':
1083110834
raise
10835+
if verbose:
10836+
print(f" [ERROR] plot {idx} '{expr}': {e}")
1083210837
# Show error on plot
1083310838
ax.text(0.5, 0.5, f'Error:\n{e}',
1083410839
ha='center', va='center',

0 commit comments

Comments
 (0)