Skip to content

Commit

Permalink
Handle exception in JDBCBackend.set_data()
Browse files Browse the repository at this point in the history
Partly addresses #296
  • Loading branch information
khaeru committed Jul 27, 2022
1 parent 8f6ae3b commit 0eba270
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion ixmp/backend/jdbc.py
Original file line number Diff line number Diff line change
Expand Up @@ -805,7 +805,16 @@ def set_data(self, ts, region, variable, data, unit, subannual, meta):
# Integer so JPype does not produce invalid java.lang.Long.
jdata = java.LinkedHashMap({java.Integer(k): v for k, v in data.items()})

self.jindex[ts].addTimeseries(region, variable, subannual, jdata, unit, meta)
try:
self.jindex[ts].addTimeseries(
region, variable, subannual, jdata, unit, meta
)
except java.IxException as e:
match = re.search("node '([^']*)' does not exist in the database", str(e))
if match:
raise ValueError(f"region = {match.group(1)}") from None
else:
raise

def set_geo(self, ts, region, variable, subannual, year, value, unit, meta):
self.jindex[ts].addGeoData(
Expand Down

0 comments on commit 0eba270

Please sign in to comment.