def create_shot_model(self, project, releasetype):
        """Create and return a new tree model that represents shots til descriptors

        The tree will include sequences, shots, tasks and descriptors of the given releaetype.

        :param releasetype: the releasetype for the model
        :type releasetype: :data:`djadapter.RELEASETYPES`
        :param project: the project of the shots
        :type project: :class:`djadapter.models.Project`
        :returns: the created tree model
        :rtype: :class:`jukeboxcore.gui.treemodel.TreeModel`
        :raises: None
        """
        rootdata = treemodel.ListItemData(['Name'])
        rootitem = treemodel.TreeItem(rootdata)
        for seq in project.sequence_set.all():
            seqdata = djitemdata.SequenceItemData(seq)
            seqitem = treemodel.TreeItem(seqdata, rootitem)
            for shot in seq.shot_set.all():
                shotdata = djitemdata.ShotItemData(shot)
                shotitem = treemodel.TreeItem(shotdata, seqitem)
                for task in shot.tasks.all():
                    taskdata = djitemdata.TaskItemData(task)
                    taskitem = treemodel.TreeItem(taskdata, shotitem)
                    #get all mayafiles
                    taskfiles = task.taskfile_set.filter(releasetype=releasetype, typ=self._filetype)
                    # get all descriptor values as a list. disctinct eliminates duplicates.
                    for d in taskfiles.order_by('descriptor').values_list('descriptor', flat=True).distinct():
                        ddata = treemodel.ListItemData([d,])
                        treemodel.TreeItem(ddata, taskitem)
        shotmodel = treemodel.TreeModel(rootitem)
        return shotmodel
def create_shot_model ( self , project , releasetype ) : rootdata = treemodel . ListItemData ( [ 'Name' ] ) rootitem = treemodel . TreeItem ( rootdata ) for seq in project . sequence_set . all ( ) : seqdata = djitemdata . SequenceItemData ( seq ) seqitem = treemodel . TreeItem ( seqdata , rootitem ) for shot in seq . shot_set . all ( ) : shotdata = djitemdata . ShotItemData ( shot ) shotitem = treemodel . TreeItem ( shotdata , seqitem ) for task in shot . tasks . all ( ) : taskdata = djitemdata . TaskItemData ( task ) taskitem = treemodel . TreeItem ( taskdata , shotitem ) taskfiles = task . taskfile_set . filter ( releasetype = releasetype , typ = self . _filetype ) for d in taskfiles . order_by ( 'descriptor' ) . values_list ( 'descriptor' , flat = True ) . distinct ( ) : ddata = treemodel . ListItemData ( [ d , ] ) treemodel . TreeItem ( ddata , taskitem ) shotmodel = treemodel . TreeModel ( rootitem ) return shotmodel
Create and return a new tree model that represents shots til descriptors

        The tree will include sequences, shots, tasks and descriptors of the given releaetype.

        :param releasetype: the releasetype for the model
        :type releasetype: :data:`djadapter.RELEASETYPES`
        :param project: the project of the shots
        :type project: :class:`djadapter.models.Project`
        :returns: the created tree model
        :rtype: :class:`jukeboxcore.gui.treemodel.TreeModel`
        :raises: None