def resolve_local(document_loader, uri): pathpart, frag = urllib.parse.urldefrag(uri) pathobj = Path(pathpart).resolve() if pathobj.is_file(): if frag: return "{}#{}".format(pathobj.as_uri(), frag) return pathobj.as_uri() sharepaths = [ os.environ.get( "XDG_DATA_HOME", os.path.join(os.path.expanduser('~'), ".local", "share")) ] sharepaths.extend( os.environ.get("XDG_DATA_DIRS", "/usr/local/share/:/usr/share/").split(":")) shares = [os.path.join(s, "commonwl", uri) for s in sharepaths] _logger.debug("Search path is %s", shares) for path in shares: if os.path.exists(path): return Path(uri).as_uri() if os.path.exists("{}.cwl".format(path)): return Path("{}.cwl".format(path)).as_uri() return None
def resolve_local(document_loader, uri): # type: (Loader, str) -> Optional[str] pathpart, frag = urllib.parse.urldefrag(uri) try: pathobj = Path(pathpart).resolve() except (WindowsError, OSError): _logger.debug("local resolver could not resolve %s", uri) return None if pathobj.is_file(): if frag: return "{}#{}".format(pathobj.as_uri(), frag) return pathobj.as_uri() sharepaths = [ os.environ.get( "XDG_DATA_HOME", os.path.join(os.path.expanduser("~"), ".local", "share")) ] sharepaths.extend( os.environ.get("XDG_DATA_DIRS", "/usr/local/share/:/usr/share/").split(":")) shares = [os.path.join(s, "commonwl", uri) for s in sharepaths] _logger.debug("Search path is %s", shares) for path in shares: if os.path.exists(path): return Path(uri).as_uri() if os.path.exists("{}.cwl".format(path)): return Path("{}.cwl".format(path)).as_uri() return None
def resolve_local(document_loader, uri): pathpart, frag = urllib.parse.urldefrag(uri) pathobj = Path(pathpart).resolve() if pathobj.is_file(): if frag: return "{}#{}".format(pathobj.as_uri(), frag) return pathobj.as_uri() sharepaths = [os.environ.get("XDG_DATA_HOME", os.path.join( os.path.expanduser('~'), ".local", "share"))] sharepaths.extend(os.environ.get( "XDG_DATA_DIRS", "/usr/local/share/:/usr/share/").split(":")) shares = [os.path.join(s, "commonwl", uri) for s in sharepaths] _logger.debug("Search path is %s", shares) for path in shares: if os.path.exists(path): return Path(uri).as_uri() if os.path.exists("{}.cwl".format(path)): return Path("{}.cwl".format(path)).as_uri() return None