MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / contained_folders

Function contained_folders

keepercommander/subfolder.py:87–109  ·  view source on GitHub ↗

Return list of folders (empty if component not present) containing component within parent folder 'folder

(params, folders, component)

Source from the content-addressed store, hash-verified

85
86
87def contained_folders(params, folders, component):
88 # type: (KeeperParams, List[Optional[BaseFolderNode]], str) -> List[Optional[BaseFolderNode]]
89 """Return list of folders (empty if component not present) containing component within parent folder 'folder'"""
90 get_folder_by_id = lambda uid: params.folder_cache.get(uid)
91 get_folder_ids = lambda: params.folder_cache.keys()
92
93 if component in ('.', ''):
94 result = folders
95 elif component == '..':
96 # Handle parent navigation, accounting for Nested Share Folders with invalid parent_uid
97 result = []
98 for f in folders:
99 if f.parent_uid:
100 parent = get_folder_by_id(f.parent_uid)
101 result.append(parent if parent else params.root_folder)
102 else:
103 result.append(params.root_folder)
104 elif component in get_folder_ids():
105 result = [get_folder_by_id(component)]
106 else:
107 result = [get_folder_by_id(uid) for f in folders for uid in f.subfolders if get_folder_by_id(uid).name == component]
108
109 return result
110
111
112def lookup_path(params, folder, components):

Callers 1

lookup_pathFunction · 0.85

Calls 1

getMethod · 0.80

Tested by

no test coverage detected