55import traceback
66import warnings
77
8+ import botocore .exceptions
89from ckan import common , model
910import ckan .plugins .toolkit as toolkit
1011from 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