Example #1
0
 def assettask(self, projectid, assetid):
     # get tasks from assets and project
     _assettasks = []
     _fields = [
         'id',
         'code',
         # 'cached_display_name',
         'content',
         "step",
         # 'project',
         # 'sibling_tasks'
     ]
     _filters = [
         ['project', 'is', {
             'type': 'Project',
             'id': projectid
         }],
         # ['asset', 'is', {'type': 'Asset', 'id': assetid }],
         ['entity', 'is', {
             'type': 'Asset',
             'id': assetid
         }]
     ]
     try:
         _assettask = self.sg.find("Task", _filters, _fields)
         _assettasks = dictfromlistofdicts(_assettask, "content", "id")
     except RuntimeError:
         logger.warn("Couldn't find any AssetTypes")
     else:
         logger.info("Found {} Asset Tasks".format(len(_assettask)))
     finally:
         return _assettasks
Example #2
0
 def seqFromProject(self, project_id=None):
     # get sequence from project
     _sequences = {}
     _fields = ['id', 'code']
     _filters = [['project', 'is', {'type': 'Project', 'id': project_id}]]
     try:
         _seq = self.sg.find("Sequence", _filters, _fields)
         _sequences = dictfromlistofdicts(_seq, "code", "id")
     except RuntimeError, err:
         logger.warn("Cant find any sequences")
Example #3
0
 def assetFromProject(self, project_id=None):
     # get assets from
     _assets = {}
     _fields = ['id', 'code']
     _filters = [['project', 'is', {'type': 'Project', 'id': project_id}]]
     try:
         _asset = self.sg.find("Asset", _filters, _fields)
         _assets = dictfromlistofdicts(_asset, "code", "id")
     except RuntimeError:
         logger.warn("Cant find any sequences")
     finally:
         return _assets
Example #4
0
 def myGroups(self):
     # Return a simple dictionary of projects and project ids
     _mygroups = {}
     try:
         __fields = ['id', 'name', 'groups']
         __filters = [['login', 'is', self.dabnumber]]
         _result = self.sg.find("HumanUser",
                                filters=__filters,
                                fields=__fields)
         _groups = _result[0].get('groups')
         _mygroups = dictfromlistofdicts(_groups, "name", "id")
     except RuntimeError, err:
         _mygroups = {}
Example #5
0
 def episodeFromProject(self, project_id=None):
     # get episodes from project
     _episodes = None
     _fields = ['id', 'code', 'episode']
     _filters = [
         ['project', 'is', {
             'type': 'Project',
             'id': project_id
         }],
     ]
     try:
         _ep = self.sg.find("Episode", _filters, _fields)
         _episodes = dictfromlistofdicts(_ep, "code", "id")
     except RuntimeError, err:
         logger.warn(
             "Cant find any episodes in project {pr}".format(pr=project_id))
Example #6
0
 def taskFromShot(self, project_id=None, shot_id=None):
     # get tasks from shot
     _tasks = {}
     _fields = ['id', 'cached_display_name']
     _filters = [['project', 'is', {
         'type': 'Project',
         'id': project_id
     }], ['entity', 'is', {
         'type': 'Shot',
         'id': shot_id
     }]]
     try:
         _task = self.sg.find("Task", _filters, _fields)
         _tasks = dictfromlistofdicts(_task, "cached_display_name", "id")
     except RuntimeError:
         logger.warn("Cant find any tasks")
     finally:
         return _tasks
Example #7
0
 def shotFromSeq(self, project_id=None, sequence_id=None):
     # get shots from sequence and project
     _shots = {}
     _fields = ['id', 'code']
     _filters = [['project', 'is', {
         'type': 'Project',
         'id': project_id
     }], ['sg_sequence', 'is', {
         'type': 'Sequence',
         'id': sequence_id
     }]]
     try:
         _shottask = self.sg.find("Shot", _filters, _fields)
         _shots = dictfromlistofdicts(_shottask, "code", "id")
     except RuntimeError:
         logger.warn("Cant find any shots")
     finally:
         return _shots
Example #8
0
    def assetFromAssetType(self, project_id=None, asset_type=None):
        # get asset
        _assets = {}
        _fields = ['id', 'code', 'sg_asset_type']
        _filters = [
            ['project', 'is', {
                'type': 'Project',
                'id': project_id
            }],
            ['sg_asset_type', 'is', asset_type],
        ]
        # print project_id,asset_type
        try:
            _asset = self.sg.find("Asset", _filters, _fields)
            _assets = dictfromlistofdicts(_asset, "code", "id")

        except RuntimeError:
            logger.warn("Cant find any {at} assets".format(at=asset_type))
        finally:
            return _assets
Example #9
0
    def getprojectsoftware(self, project_id=None):
        _software = None
        _fields = [
            'id', 'code', 'engine', 'cached_display_name', 'projects',
            'version_names'
        ]
        _filters = [['projects', 'is', {'type': 'Project', 'id': project_id}]]
        p = Person()
        try:
            software = p.sg.find("Software", _filters, _fields)
        except Exception, err:
            logger.warn("{}".format(err))
        else:
            logger.debug(software)
            _software = dictfromlistofdicts(software, 'code', 'version_names')
        finally:
            logger.debug(_software)
            pass

    def getallsoftware(self):
        # return all the software that is active
        pass

    def getdefaultsoftware(self):
        # this comes from the json file
        pass


class Project(ShotgunBase):
    def __init__(self, pid=None):