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: AbstractBrowserModel

Represents 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

get_collection_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_LOADING

COUNT_TIMEOUT

SUMMARY_FOLDER_NAME

__init__(
self: omni.ui._ui.AbstractItemModel,
) None#

Constructs AbstractItemModel.

`kwargsdict`

See below

### Keyword Arguments:

append_root_folder(
url: str,
name: str | None = None,
save: bool = True,
sync: bool = True,
) FileSystemFolder | None#

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,
) FolderCategoryItem#

Create a category item from a folder. :param folder: Folder object to create category item :type folder: AbstractBrowserFolder

create_collection_item(
folder: AbstractBrowserFolder,
) FolderCollectionItem#

Create a collection item from a folder. :param folder: Folder object to create collection item :type folder: AbstractBrowserFolder

create_detail_item(
file: BrowserFile,
) FileDetailItem | List[FileDetailItem]#

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,
) AbstractBrowserFolder#

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,
) None#

Notify folder or file changed. :param item: Changed folder or file object. :type item: Union[AbstractBrowserFolder, BrowserFile]

get_category_items(
item: FolderCollectionItem,
) List[FolderCategoryItem]#

Override to get list of category items

get_collection_items() List[FolderCollectionItem]#

Override to get list of collection items

get_detail_items(
item: CategoryItem,
) List[FileDetailItem]#

Override to get list of detail items

get_root_folder(
url: str,
) AbstractBrowserFolder | None#

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,
) FileSystemFolder | None#

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,
) 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,
) bool#

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],
) None#

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