Skip to content

Commit e1f2369

Browse files
committed
fix: resolve self-referencing basin creation in background job
1 parent 771805a commit e1f2369

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

CHANGELOG

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
1.0.4
2+
- fix: resolve self-referencing basin creation in background job
13
1.0.3
24
- enh: config option `ckanext.dc_serve.enable_intra_dataset_basins` (#6)
35
- enh: dig deep to identify basin relationships in uploads (#6)

ckanext/dc_serve/jobs.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import traceback
66
import warnings
77

8+
import botocore.exceptions
89
from ckan import common, model
910
import ckan.plugins.toolkit as toolkit
1011
from dclab import RTDCWriter
@@ -246,6 +247,9 @@ def _get_intra_dataset_upstream_basins(res_dict, ds) -> list[dict]:
246247
logger.warning(
247248
f"Workaround for attribute error, try: {ii}")
248249
continue
250+
except botocore.exceptions.ClientError:
251+
# We are very likely self-referencing (404)
252+
pass
249253
except BaseException:
250254
logger.warning(
251255
f"Condensed resource {u_rid} not accessible, "
@@ -259,12 +263,21 @@ def _get_intra_dataset_upstream_basins(res_dict, ds) -> list[dict]:
259263

260264
# Add DCOR basin
261265
u_dcor_url = f"{site_url}/api/3/action/dcserv?id={u_rid}"
266+
267+
if res_dict["id"] == u_rid:
268+
# We are self.referencing
269+
basin_name = f"DCOR self-reference {res.name}"
270+
basin_descr = "Basin is the resource itself on DCOR"
271+
else:
272+
basin_name = f"DCOR intra-dataset for {res.name}"
273+
basin_descr = "Upstream DCOR intra-dataset resource"
274+
262275
basin_dicts.append({
263-
"basin_name": f"DCOR intra-dataset for {res.name}",
276+
"basin_name": basin_name,
264277
"basin_type": "remote",
265278
"basin_format": "dcor",
266279
"basin_locs": [u_dcor_url],
267-
"basin_descr": "Upstream DCOR intra-dataset resource",
280+
"basin_descr": basin_descr,
268281
"basin_feats": basin_feats,
269282
"basin_map": basin_map,
270283
})

0 commit comments

Comments
 (0)