Example #1
0
 def getNeighbors(self, fieldName):
     if fieldName in getFieldDict(self.className).keys():
         return [
             eval('%s("%s")' % (id_[0].getField('class'), id_.getPath()))
             for id_ in self.oid_.getNeighbors(fieldName)
         ]
     raise ValueError('%s: no such field on %s' % (fieldName, self.path))
Example #2
0
def showfield(element, field='*', showtype=False):
    """Show the fields of the element, their data types and values in
    human readable format. Convenience function for GENESIS users.

    Parameters:

    element -- Element or path of an existing element or ObjId of an element.

    field -- Field to be displayed. If '*', all fields are displayed.

    showtype -- If True show the data type of each field.

    """
    if isinstance(element, str):
        if not _moose.exists(element):
            raise ValueError('%s -- no such moose object exists.' % (element))
        element = Neutral(element)
    if not isinstance(element, Neutral):
        if not isinstance(element, ObjId):
            raise TypeError(
                'Expected argument of type ObjId or Neutral or a path to an existing object. Found %s'
                % (type(element)))
        element = Neutral(element)
    if field == '*':
        value_field_dict = getFieldDict(element.className, 'valueFinfo')
        max_type_len = max([len(dtype) for dtype in value_field_dict.values()])
        max_field_len = max([len(dtype) for dtype in value_field_dict.keys()])
        print
        print '[', element.path, ']'
        for key, dtype in value_field_dict.items():
            if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith(
                    'vector') or 'ObjId' in dtype:
                continue
            value = element.oid_.getField(key)
            if showtype:
                print dtype.ljust(max_type_len + 4),
            print key.ljust(max_field_len + 4), '=', value
    else:
        try:
            print field, '=', element.getField(field)
        except AttributeError:
            pass  # Genesis silently ignores non existent fields
Example #3
0
def showfield(element, field='*', showtype=False):
    """Show the fields of the element, their data types and values in
    human readable format. Convenience function for GENESIS users.

    Parameters:

    element -- Element or path of an existing element or ObjId of an element.

    field -- Field to be displayed. If '*', all fields are displayed.

    showtype -- If True show the data type of each field.

    """
    if isinstance(element, str):
        if not _moose.exists(element):
            raise ValueError('%s -- no such moose object exists.' % (element))
        element = Neutral(element)
    if not isinstance(element, Neutral):
        if not isinstance(element, ObjId):
            raise TypeError('Expected argument of type ObjId or Neutral or a path to an existing object. Found %s' % (type(element)))
        element = Neutral(element)
    if field == '*':        
        value_field_dict = getFieldDict(element.className, 'valueFinfo')
        max_type_len = max([len(dtype) for dtype in value_field_dict.values()])
        max_field_len = max([len(dtype) for dtype in value_field_dict.keys()])
        print 
        print '[', element.path, ']'
        for key, dtype in value_field_dict.items():
            if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith('vector') or 'ObjId' in dtype:
                continue
            value = element.oid_.getField(key)
            if showtype:
                print dtype.ljust(max_type_len + 4),
            print key.ljust(max_field_len + 4), '=', value
    else:
        try:
            print field, '=', element.getField(field)
        except AttributeError:
            pass # Genesis silently ignores non existent fields
Example #4
0
 def getNeighbors(self, fieldName):
     if fieldName in getFieldDict(self.className).keys():
         return [eval('%s("%s")' % (id_[0].getField('class'), id_.getPath())) for id_ in self.oid_.getNeighbors(fieldName)]
     raise ValueError('%s: no such field on %s' % (fieldName, self.path))