def __getattribute__(self, item): try: return object.__getattribute__(self, item) except: metaNode = object.__getattribute__(self, "MetaNode") node = eMetaData.MetaData(self.MetaNode) return getattr(node, item)
def GetExportTagFromSelected(Nodes=None, AsMetaData=True): """ From selected or given Maya Nodes return all linked ExportTags as MExportTags This is backward compatible, all old Tags will return an MExport_Proxy object :param Nodes: Maya nodes to process, cmds or Pymel :param AsMetaData: bool :rtype: [`MExportTags`] """ mTags = [] found = False if not Nodes: Nodes = pCore.selected() if not issubclass(type(Nodes), list): Nodes = [Nodes] for node in Nodes: try: #see if we have a valid ExportTag already if 'MExportTag' in node.metaClass.get(): mTags.append(eMetaData.MetaData(node)) except: mData = eMetaData.MetaData.m_GetMetaData(node) if mData: _logger.debug(mData) for m in mData: if issubclass(type(m), MExportTag): mTags.append(m) found = True break return mTags
def FindAllMExportTags(TagType=None, MayaNodes=None, AsMetaData=True, ValidOnly=True, RemoveInvalids=True): """ Run through the entire scene to get any MExport Tagged Objects :param TagType: Only return Tags of the given type - accepts Tag as str, TAG_TYPE, OR MExportClass :param MayaNodes: cmds.MayaNodes to scan for Tags, cmds for speed on large datasets :returns: All `MExportTag` instances in the scene :rtype: [`MExportTags`] """ Tags = [] if MayaNodes: mData = pCore.cmds.listConnections(MayaNodes, d=False, s=True, type="network") if mData: mData = set(mData) else: mData = pCore.cmds.ls(type="network", l=True) if not mData: return [] iterator = [] if TagType: iterator = (n for n in eMetaData.IterFilterMetaNodesForClass(mData, TagType, asMetaData=False)) else: iterator = (n for n in eMetaData.IterMetaNodesForBaseClass("MExportTag", asMetaData=False)) for tag in iterator: if ValidOnly: if not cmds.listConnections('%s.metaTagged' % tag): if RemoveInvalids: eMetaData.MetaData(tag).m_Delete() continue if AsMetaData: tag = eMetaData.MetaData(tag) Tags.append(tag) return Tags
return bottle.template('search_catalogs', dict(catalogs=l), error="please provide right input format", ra=ra, dec=dec) @bottle.get('/internal_error') @bottle.view('error_template') def present_internal_error(): return {'error': "System has encountered a DB error"} connection_string = "mongodb://localhost" connection = pymongo.MongoClient(connection_string) database = connection.ASDC_catalogs catalogs = catalogsDAO.CatalogsDAO(database) info_catalogs = metaData.MetaData() def run_server(): import socket bottle.run(host=socket.gethostname(), port=8082) # Start the webserver running and wait for requests if __name__ == '__main__': parser = argparse.ArgumentParser(description='python catalogs.py will start the catalogs cone search service') parser.add_argument('-d', '--dir', help='where to find the statics files', required=True) args = vars(parser.parse_args()) ROOT = args['dir']
def findAllInstances(self): """ From an instance of an ExportTag find all matching Tags of the same Type """ currentClass = self.__class__.__name__.split('.')[-1] return [eMetaData.MetaData(m) for m in pCore.ls(type="network") if m.metaClass.get() == currentClass]
def To_MExportTag(self): return eMetaData.MetaData(self.MetaNode)