(node)
| 1834 | return result |
| 1835 | |
| 1836 | def tree_node(node): |
| 1837 | node_uid = node.record_uid if isinstance(node, Record) else (node.uid if hasattr(node, 'uid') else '') |
| 1838 | node_name = node.title if isinstance(node, Record) else (node.name if hasattr(node, 'name') else 'Unknown') |
| 1839 | |
| 1840 | # Check if it's a Nested Share Folder item and get proper name |
| 1841 | is_nested_share = False |
| 1842 | if isinstance(node, Record): |
| 1843 | is_nested_share = hasattr(params, 'nested_share_records') and node.record_uid in params.nested_share_records |
| 1844 | elif hasattr(node, 'type') and node.type == 'nested_share_folder': |
| 1845 | is_nested_share = True |
| 1846 | elif isinstance(node, BaseFolderNode) and not isinstance(node, Record): |
| 1847 | is_nested_share = hasattr(params, 'nested_share_folders') and node_uid in params.nested_share_folders |
| 1848 | # Get folder name from nested_share_folders if available |
| 1849 | if is_nested_share and node_uid in params.nested_share_folders: |
| 1850 | nsf_folder_name = params.nested_share_folders[node_uid].get('name', node_name) |
| 1851 | if nsf_folder_name: |
| 1852 | node_name = nsf_folder_name |
| 1853 | |
| 1854 | node_name = f'{node_name} ({node_uid})' if verbose else node_name |
| 1855 | share_info = get_share_info(node) if isinstance(node, SharedFolderNode) and shares else '' |
| 1856 | |
| 1857 | # Format node name based on type |
| 1858 | if isinstance(node, Record): |
| 1859 | nsf_label = ' [Nested Record]' if is_nested_share else ' [Record]' |
| 1860 | node_name = f'{Style.DIM}{node_name}{nsf_label}{Style.NORMAL}' |
| 1861 | elif isinstance(node, SharedFolderNode): |
| 1862 | node_name = f'{node_name}{Style.BRIGHT} [SHARED]{Style.NORMAL}{share_info}' |
| 1863 | elif is_nested_share: |
| 1864 | node_name = f'{node_name}{Style.BRIGHT} [Nested Share Folder]{Style.NORMAL}' |
| 1865 | |
| 1866 | dir_nodes = [] |
| 1867 | if not isinstance(node, Record): |
| 1868 | # Get regular subfolders from folder_cache |
| 1869 | if hasattr(node, 'subfolders'): |
| 1870 | dir_nodes = [params.folder_cache.get(fuid) for fuid in node.subfolders if params.folder_cache.get(fuid)] |
| 1871 | |
| 1872 | # Check if this is root folder and add Nested Share Folder root-level folders |
| 1873 | is_root = (isinstance(node, BaseFolderNode) and (node.type == '/' or node_uid == '')) or \ |
| 1874 | (hasattr(node, 'type') and node.type == 'nested_share_folder' and not node_uid) |
| 1875 | |
| 1876 | if is_root and hasattr(params, 'nested_share_folders') and params.nested_share_folders: |
| 1877 | # Add all Nested Share Folders that are at root level |
| 1878 | for nsf_uid, nsf_folder in params.nested_share_folders.items(): |
| 1879 | parent_uid = nsf_folder.get('parent_uid') |
| 1880 | # Check if this folder is at root: |
| 1881 | # - parent_uid is None, empty string, 'root', or the special root UID |
| 1882 | # - Also check if parent doesn't exist in nested_share_folders (orphan = root level) |
| 1883 | is_root_folder = ( |
| 1884 | parent_uid is None or |
| 1885 | parent_uid == '' or |
| 1886 | parent_uid == 'root' or |
| 1887 | parent_uid == 'AAAAAAAAAAAAAAAAAPmtNA' or |
| 1888 | (parent_uid and parent_uid not in params.nested_share_folders) |
| 1889 | ) |
| 1890 | if is_root_folder: |
| 1891 | # Check if already in dir_nodes |
| 1892 | already_added = any(hasattr(n, 'uid') and n.uid == nsf_uid for n in dir_nodes if n) |
| 1893 | if not already_added: |
no test coverage detected