| 208 | |
| 209 | |
| 210 | def get_contained_record_uids(params, name, children_only=True): |
| 211 | # type: (KeeperParams, str, bool) -> Dict[str, Iterable[str]] |
| 212 | from .commands.base import FolderMixin |
| 213 | recs_by_folder = dict() |
| 214 | root_folder_uids = get_folder_uids(params, name) |
| 215 | |
| 216 | def add_child_recs(f_uid): |
| 217 | child_recs = params.subfolder_record_cache.get(f_uid, set()) |
| 218 | recs_by_folder.update({f_uid: child_recs}) |
| 219 | |
| 220 | def on_folder(f): # type: (BaseFolderNode) -> None |
| 221 | f_uid = f.uid or '' |
| 222 | if not children_only or f_uid in root_folder_uids: |
| 223 | add_child_recs(f_uid) |
| 224 | |
| 225 | for uid in root_folder_uids: |
| 226 | FolderMixin.traverse_folder_tree(params, uid, on_folder) |
| 227 | |
| 228 | return recs_by_folder |
| 229 | |
| 230 | |
| 231 | class BaseFolderNode: |