Skip to content

Commit

Permalink
catch difference in units during init_columns
Browse files Browse the repository at this point in the history
  • Loading branch information
tschaume committed Apr 8, 2024
1 parent acb2cf2 commit 93e1921
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions mpcontribs-client/mpcontribs/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1517,15 +1517,25 @@ def init_columns(self, columns: dict = None) -> dict:
new_unit = new_column.get("unit", "NaN")
existing_unit = existing_column.get("unit")
if existing_unit != new_unit:
conv_args = []
for u in [existing_unit, new_unit]:
try:
conv_args.append(ureg.Unit(u))
except ValueError as ex:
raise MPContribsClientError(
f"Can't convert {existing_unit} to {new_unit} for {path}"
)
try:
factor = ureg.convert(1, ureg.Unit(existing_unit), ureg.Unit(new_unit))
factor = ureg.convert(1, *conv_args)
except DimensionalityError:
raise MPContribsClientError(
f"Can't convert {existing_unit} to {new_unit} for {path}"
)

if not isclose(factor, 1):
logger.info(f"Changing {existing_unit} to {new_unit} for {path} ...")
logger.info(
f"Changing {existing_unit} to {new_unit} for {path} ..."
)
# TODO scale contributions to new unit
raise MPContribsClientError(
"Changing units not supported yet. Please resubmit"
Expand Down

0 comments on commit 93e1921

Please sign in to comment.