Skip to content

Commit

Permalink
fix: fix for pyaerocom tests to pass
Browse files Browse the repository at this point in the history
  • Loading branch information
thorbjoernl committed Feb 21, 2025
1 parent e01020e commit 1807eff
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 3 deletions.
11 changes: 10 additions & 1 deletion src/aerovaldb/jsondb/backwards_compatibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,23 @@ def post_process_maps_args_kwargs(


def post_process_timeseries_args_kwargs(
args: dict[str, str], kwargs: dict[str, str]
args: dict[str, str], kwargs: dict[str, str], *, version
) -> tuple[dict[str, str], dict[str, str]]:
if version >= Version("0.26.0"):
return args, kwargs

if "-" in args["obsvar"]:
splt = args["obsvar"].split("-")
args["obsvar"] = splt[-1]

args["network"] = args["network"] + f"-{'-'.join(splt[:-1])}"

if "_" in args["network"]:
splt = args["network"].split("_")
args["network"] = splt[-1]

args["location"] = args["location"] + f"_{'_'.join(splt[:-1])}"

return args, kwargs


Expand Down
2 changes: 1 addition & 1 deletion src/aerovaldb/jsondb/jsonfiledb.py
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ async def _get_uri_for_file(self, file_path: str) -> str:
)
elif route in [ROUTE_TIMESERIES, ROUTE_TIMESERIES_WEEKLY]:
route_args, kwargs = post_process_timeseries_args_kwargs(
route_args, kwargs
route_args, kwargs, version=version
)
elif route == ROUTE_HEATMAP_TIMESERIES:
route_args, kwargs = post_process_heatmap_ts_args_kwargs(
Expand Down
21 changes: 20 additions & 1 deletion tests/jsondb/test_jsonfiledb.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,26 @@ def test_get_uri_with_dashes(tmp_path, mocker):
)


def test_get_uri_with_underscore_region(tmp_path, mocker):
def test_get_uri_with_underscore_region1(tmp_path, mocker):
mocker.patch.object(AerovalJsonFileDB, "_get_version", mock_version_provider)
with aerovaldb.open(f"json_files:{tmp_path}") as db:
db.put_timeseries(
{},
"project",
"experiment",
"Amsterdam_Island",
"AERONET-Sun",
"od550aer",
"Column",
)

assert (
db.list_all()[0]
== "/v0/ts/project/experiment/Amsterdam%2Island/AERONET-Sun/od550aer/Column?version=0.25.0"
)


def test_get_uri_with_underscore_region2(tmp_path, mocker):
mocker.patch.object(AerovalJsonFileDB, "_get_version", mock_version_provider)
with aerovaldb.open(f"json_files:{tmp_path}") as db:
db.put_heatmap_timeseries(
Expand Down

0 comments on commit 1807eff

Please sign in to comment.