Cython, URI: Fixed a bug when using an output URI with just a view name

to use the default DMS
This commit is contained in:
Celine Mercier
2018-11-02 19:04:27 +01:00
parent 35f3e7c30b
commit 8faabd3ebf

View File

@ -99,7 +99,7 @@ def open_dms_element(DMS dms,
view = newviewtype.new(dms,path_parts[0]) view = newviewtype.new(dms,path_parts[0])
else: else:
view = newviewtype.open(dms,path_parts[0]) view = newviewtype.open(dms,path_parts[0])
if len(path_parts) > 1: if len(path_parts) > 1:
if path_parts[1]==b'*': if path_parts[1]==b'*':
if len(path_parts) == 2: if len(path_parts) == 2:
@ -196,7 +196,11 @@ def open_uri(uri,
(((not input) and "outputformat" not in config["obi"]) or \ (((not input) and "outputformat" not in config["obi"]) or \
(input and "inputformat" not in config["obi"]))): # TODO maybe not best way (input and "inputformat" not in config["obi"]))): # TODO maybe not best way
dms = open_dms(urip.path, create) if default_dms is not None and b"/" not in urip.path: # assuming view to open in default DMS (TODO discuss)
dms=(default_dms, urip.path)
else:
dms = open_dms(urip.path, create)
if dms is None and default_dms is not None: if dms is None and default_dms is not None:
dms=(default_dms, urip.path) dms=(default_dms, urip.path)
@ -232,7 +236,7 @@ def open_uri(uri,
if obi_errno == OBIVIEW_ALREADY_EXISTS_ERROR: if obi_errno == OBIVIEW_ALREADY_EXISTS_ERROR:
raise Exception("View name already exists in this DMS") raise Exception("View name already exists in this DMS")
error=e error=e
if scheme==b"dms" : if scheme==b"dms" :
logger('Error','Could not open DMS URI: %s', uri) logger('Error','Could not open DMS URI: %s', uri)
raise FileNotFoundError() raise FileNotFoundError()