Source code for shotgun_model.simple_shotgun_hierarchy_model

# Copyright (c) 2016 Shotgun Software Inc.
#
# CONFIDENTIAL AND PROPRIETARY
#
# This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
# Source Code License included in this distribution package. See LICENSE.
# By accessing, using, copying or modifying this work you indicate your
# agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
# not expressly granted therein are reserved by Shotgun Software Inc.

from .shotgun_hierarchy_model import ShotgunHierarchyModel


[docs]class SimpleShotgunHierarchyModel(ShotgunHierarchyModel): """ Convenience wrapper around the Shotgun Hierarchy model for quick and easy access. All you need to do is to instantiate the class (typically once, in your constructor) and then call :meth:`load_data` to specify which shotgun :meth:`~shotgun-api3:shotgun_api3.Shotgun.nav_expand()` query to load up the top-level items in the hierarchy. The remaining items will be queried asynchronously as items are expanded. Subsequently call :meth:`load_data` whenever you wish to change the :meth:`~shotgun-api3:shotgun_api3.Shotgun.nav_expand()` query associated with the model. This class derives from :class:`ShotgunHierarchyModel` so all the customization methods available in the normal :class:`ShotgunHierarchyModel` can also be subclassed from this class. """
[docs] def load_data(self, seed_entity_field, root=None, entity_fields=None): """ Loads shotgun data into the model, using the cache if possible. :param str seed_entity_field: This is a string that corresponds to the field on an entity used to seed the hierarchy. For example, a value of ``Version.entity`` would cause the model to display a hierarchy where the leaves match the entity value of Version entities. NOTE: This value is currently limited to either ``Version.entity`` or ``PublishedFile.entity`` :param dict root: This is the entity that will be at the root of the hierarchy view. By default, this value is ``None``, which means the root of the hierarchy will be at the site level. Only projects can be set as the root of a hierarchy model. :param dict entity_fields: A dictionary that identifies what fields to include on returned entities. Since the hierarchy can include any entity structure, this argument allows for specification of additional fields to include as these entities are returned. The dict's keys correspond to the entity type and the value is a list of field names to return. """ super(SimpleShotgunHierarchyModel, self)._load_data( seed_entity_field, root=root, entity_fields=entity_fields )