Esempio n. 1
0
    def load_asset_if_not(self, db, asset_names):
        """Load none asset loaded into show
            :param:
                   asset_names (list/str): a valid code name for asset
        """
        from dsk.base.db_helper.db_helper_funct import ShotgunQuery as SQ
        if isinstance(asset_names, basestring):
            asset_names = [asset_names]

        assets = self.get_assets()
        in_all_ready = assets.childNames()

        to_query = list()
        all_ready_there = list()
        for s in asset_names:
            if s not in in_all_ready:
                to_query.append(s)
            else:
                ch = assets.getChildByName(s)
                if ch is None:
                    log.error("cannot retrieve asset: %s", s)
                else:
                    all_ready_there.append(ch)

        asset_list = list()
        if len(to_query) > 0:
            asset_list = SQ.assets_with_id(self.id, to_query, db.get_conn())
            self.init_with_assets(asset_list)
        return asset_list + all_ready_there
Esempio n. 2
0
    def load_asset(self, show_name, asset_names):
        """Load a single asset into db under showname

            :param show_name: (str), valid sgtk name
            :param asset_names: (list/str): a valid code name for asset
        """

        showobj = None
        if show_name in self.get_show_names():
            showobj = self['Shows'][show_name]

        if showobj == None:
            return list()
        if isinstance(asset_names, basestring):
            asset_names = [asset_names]

        asset_list = SQ.assets_with_id(showobj.id, asset_names,
                                       self.get_conn())
        showobj.init_with_assets(asset_list)
        self._currentshow = show_name
        return asset_list