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