Example #1
0
 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)
Example #2
0
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
Example #3
0
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']
Example #5
0
 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]
Example #6
0
 def To_MExportTag(self):
     return eMetaData.MetaData(self.MetaNode)