FolderBrowserModel#
- class omni.kit.browser.folder.core.FolderBrowserModel(
- filter_file_suffixes: List[str] | None = None,
- ignore_folder_names: List[str] | None = None,
- show_empty_folders: bool = False,
- show_summary_folder: bool = True,
- setting_folders: str | None = None,
- create_file_object_fn: callable = None,
- hide_file_without_thumbnails: bool = False,
- show_category_subfolders: bool = False,
- timeout: float | None = 5.0,
- category_tree_mode: bool = False,
- local_cache_file: str = None,
- run_warmup: bool = False,
- ignore_sub_folder_with_files: bool = False,
- custom_folders_setting: str | None = None,
Bases:
AbstractBrowserModelRepresents the browser model for folders.
- Keyword Arguments:
filter_file_suffixes (Optional[List[str]]) – List of file suffixes. Files with suffix not in this list will be ignored. Default is None, means all file suffixes will appear.
ignore_folder_names (Optional[List[str]]) – List of folder names. Folder with name in this list will be ignored. Default is None, means all folders will appear.
show_empty_folders (bool) – If true, show empty folders (no files in the folder). Otherwise, hide empty folders. Default is False.
show_summary_folder (bool) – If true, show a summary folder (named “ALL”) with all files in all folders. Otherwise, donot show such a folder. Default is True.
setting_folders (Optional[str]) – Setting path to save/load root folders
create_file_object_fn (callable) – Function called when creating a file object. Default is creating a BrowserFile. Function signature: Optional[BrowserFile] create_file_object_fn(url: str)
timeout (Optional[float]) – Number of seconds to wait for to list/reading from folder. If timeout is None, block until the future completes. Default is 5.
category_tree_mode (bool) – Show collections/categories in treeview mode
local_cache_file (str) – Define the local cache file name for the model to be cached locally. If it is None, no local file cache will be stored.
run_warmup (bool) – If run in warmup. Default False.
- Overridden functions:
- bool filter_file(url: str): Determines a file will appear or not. Return true if appear, otherwise ingored. Default check file suffix with keyword args filter_file_suffixes.
- Args:
url (str): Url of file.
- void execute(self, item: FileDetailItem): Execute a file.
- Args:
item: File detail item to be executed.
- void sort_items(items: List[Union[FolderCollectionItem, FolderCollectionItem, DetailItem]]): Sort kinds of browser items. Default sort by name.
- Args:
items (List[Union[FolderCollectionItem, FolderCollectionItem, DetailItem]]): List of browser items to be sorted.
- FolderCollectionItem create_collection_item(folder: AbstractBrowserFolder): Create a collection item from a folder.
- Args:
folder (AbstractBrowserFolder): Folder object to create collection item
- FolderCategoryItem create_category_item(folder: AbstractBrowserFolder): Create a category item from a folder.
- Args:
folder (AbstractBrowserFolder): Folder object to create category item
- Union[FileDetailItem, List[FileDetailItem] create_detail_item(file: BrowserFile): Create detail item(s) from a file
- Args:
file (BrowserFile): File object to create detail item
- AbstractBrowserFolder create_folder_object(*args, **kwargs): Create folder object when a root folder appended.
Args and keyword args: please refer to FileSystemFolder
Methods
__init__(self)Constructs AbstractItemModel.
append_root_folder(url[, name, save, sync])Append a root folder.
create_category_item(folder[, parent])Create a category item from a folder.
create_collection_item(folder)Create a collection item from a folder.
create_detail_item(file)Create detail item(s) from a file.
create_folder_object(*args, **kwargs)Create a folder object when a root folder appended.
destroy()filter_file(url)Check a file if valid or not.
folder_changed(item)Notify folder or file changed.
get_category_items(item)Override to get list of category items
Override to get list of collection items
get_detail_items(item)Override to get list of detail items
get_folder_item(folder)get_root_folder(url)Find a root folder Return folder object if succeeded, otherwise False.
process_root_folder(root_folder[, sync])Process a root folder name and url and add it to the list of root folders.
register_folder(url[, name])Register a folder path with the model.
remove_collection(item)Remove a collection item.
remove_root_folder(url)Remove a root folder Return True if succeeded, otherwise False.
sort_items(items)Sort kinds of browser items by name.
start_traverse(folder[, force])unregister_folder(url)Unregister a folder path with the model when finished with it.
Attributes
COUNT_LOADINGCOUNT_TIMEOUTSUMMARY_FOLDER_NAME- __init__(
- self: omni.ui._ui.AbstractItemModel,
Constructs AbstractItemModel.
- `kwargsdict`
See below
### Keyword Arguments:
- append_root_folder(
- url: str,
- name: str | None = None,
- save: bool = True,
- sync: bool = True,
Append a root folder. Return FileSystemFolder object is appended, otherwise None means url already exists. :param url: Url of folder :type url: str :param name: Name of folder. Default is None, means use last directory name as collection name. :type name: Optional[str] :param save: True to save current root folder to settings if setting path defined. False means nothing saved. :type save: bool
- create_category_item(
- folder: AbstractBrowserFolder,
- parent: CategoryItem | None = None,
Create a category item from a folder. :param folder: Folder object to create category item :type folder: AbstractBrowserFolder
- create_collection_item(
- folder: AbstractBrowserFolder,
Create a collection item from a folder. :param folder: Folder object to create collection item :type folder: AbstractBrowserFolder
- create_detail_item(
- file: BrowserFile,
Create detail item(s) from a file. A file may includs multi detail items. :param file: File object to create detail item(s) :type file: BrowserFile
- create_folder_object(
- *args,
- **kwargs,
Create a folder object when a root folder appended. Default using FileSystemFolder. User could overridden to create own folder object for special usage. Args and keyword args please reference to FileSystemFolder.
- filter_file(url: str) bool#
Check a file if valid or not. Return true if valid, otherwise false. If filter_file_suffixes not defined, always valid. Otherwise only valid if in valid_file_suffixed. :param url: Url of file. :type url: str
- folder_changed(
- item: AbstractBrowserFolder | BrowserFile | None,
Notify folder or file changed. :param item: Changed folder or file object. :type item: Union[AbstractBrowserFolder, BrowserFile]
- get_category_items(
- item: FolderCollectionItem,
Override to get list of category items
- get_collection_items() List[FolderCollectionItem]#
Override to get list of collection items
- get_detail_items(
- item: CategoryItem,
Override to get list of detail items
- get_root_folder(
- url: str,
Find a root folder Return folder object if succeeded, otherwise False. :param url: Url of root folder to find. :type url: str
- process_root_folder(
- root_folder: str,
- sync: bool = True,
Process a root folder name and url and add it to the list of root folders.
- Parameters:
root_folder – Name of root folder with optional prepended collection name.
- register_folder(
- url: str,
- name: str | None = None,
Register a folder path with the model. :param url: Url of folder :type url: str :param name: Name of folder. Default is None. :type name: Optional[str]
- remove_collection(
- item: FolderCollectionItem,
Remove a collection item.
- Parameters:
item (CollectionItem) – Collection item to be removed.
- Returns:
True if removal succeeded.
- Return type:
bool
- remove_root_folder(url: str) bool#
Remove a root folder Return True if succeeded, otherwise False. :param url: Url of root folder to be removed. :type url: str
- sort_items(
- items: List[FolderCollectionItem | FileDetailItem],
Sort kinds of browser items by name. :param items: List of browser items to be sorted. :type items: List[Union[FolderCollectionItem, FolderCollectionItem, FileDetailItem]]
- unregister_folder(url: str) None#
Unregister a folder path with the model when finished with it. :param url: Url of folder :type url: str