def get_path(objID, version, searchFile, repositoryRoot): """a helper function. a replacement for DisplaySelection.get_path(). called by get_file_path() below.""" success,meta = searchFile.get_meta(objID, version) if not success or not meta: ryw.give_bad_news( 'ReverseLists.get_path: get_path failed.', logging.critical) return (False, None) objroot = ryw_meta.get_objectstore_root(repositoryRoot, meta) paths = ryw_meta.get_paths(objroot, objID, version, meta, RepositoryRoot) if not paths: ryw.give_bad_news('ReverseLists.get_path: failed to get paths.', logging.critical) return (False, None) return (True, paths[0])
def get_all_paths(objID, version, skipLock = False, searchFile = None, allowNullSearchFile = False): #searchFile = ryw_meta.open_search_file(RepositoryRoot) #if not searchFile: # return (False, None) #meta,objroot = ryw_meta.get_meta(searchFile, objID, version, # RepositoryRoot) #searchFile.done() if searchFile == None and not allowNullSearchFile: ryw.give_bad_news('DisplaySelection.get_path: warning, no ' + 'searchFile. ok but should fix.', logging.warning) if searchFile: success,meta = searchFile.get_meta(objID, version) if success and meta: objroot = ryw_meta.get_objectstore_root(RepositoryRoot, meta) else: success,meta,objroot = ryw_meta.get_meta2( RepositoryRoot, objID, version, skipLk = skipLock) logging.warning('DisplaySelection.get_path: get_meta2 called.') if not success or (not meta and not objroot): ryw.give_bad_news( 'DisplaySelection: no meta, no objroot, giving up...', logging.critical) return (False, None, None) paths = ryw_meta.get_paths(objroot, objID, version, meta, RepositoryRoot) if not paths: ryw.give_bad_news('DisplaySelection: failed to get paths.', logging.critical) return (False, None, None) return (True, paths, meta)