xtuml/meta.py
def _find_link(inst1, inst2, rel_id, phrase):
    '''
    Find links that correspond to the given arguments.
    '''
    metaclass1 = get_metaclass(inst1)
    metaclass2 = get_metaclass(inst2)

    if isinstance(rel_id, int):
        rel_id = 'R%d' % rel_id
        
    for ass in metaclass1.metamodel.associations:
        if ass.rel_id != rel_id:
            continue

        if (ass.source_link.from_metaclass.kind == metaclass1.kind and
            ass.source_link.to_metaclass.kind == metaclass2.kind and
            ass.source_link.phrase == phrase):
            return inst1, inst2, ass

        if (ass.target_link.from_metaclass.kind == metaclass1.kind and
            ass.target_link.to_metaclass.kind == metaclass2.kind and
            ass.target_link.phrase == phrase):
            return inst2, inst1, ass

    raise UnknownLinkException(metaclass1.kind, metaclass2.kind, rel_id, phrase)
def _find_link(inst1, inst2, rel_id, phrase):
    '''
    Find links that correspond to the given arguments.
    '''
    metaclass1 = get_metaclass(inst1)
    metaclass2 = get_metaclass(inst2)

    if isinstance(rel_id, int):
        rel_id = 'R%d' % rel_id
        
    for ass in metaclass1.metamodel.associations:
        if ass.rel_id != rel_id:
            continue

        if (ass.source_link.from_metaclass.kind == metaclass1.kind and
            ass.source_link.to_metaclass.kind == metaclass2.kind and
            ass.source_link.phrase == phrase):
            return inst1, inst2, ass

        if (ass.target_link.from_metaclass.kind == metaclass1.kind and
            ass.target_link.to_metaclass.kind == metaclass2.kind and
            ass.target_link.phrase == phrase):
            return inst2, inst1, ass

    raise UnknownLinkException(metaclass1.kind, metaclass2.kind, rel_id, phrase)
def _find_link ( inst1 , inst2 , rel_id , phrase ) : metaclass1 = get_metaclass ( inst1 ) metaclass2 = get_metaclass ( inst2 ) if isinstance ( rel_id , int ) : rel_id = 'R%d' % rel_id for ass in metaclass1 . metamodel . associations : if ass . rel_id != rel_id : continue if ( ass . source_link . from_metaclass . kind == metaclass1 . kind and ass . source_link . to_metaclass . kind == metaclass2 . kind and ass . source_link . phrase == phrase ) : return inst1 , inst2 , ass if ( ass . target_link . from_metaclass . kind == metaclass1 . kind and ass . target_link . to_metaclass . kind == metaclass2 . kind and ass . target_link . phrase == phrase ) : return inst2 , inst1 , ass raise UnknownLinkException ( metaclass1 . kind , metaclass2 . kind , rel_id , phrase )
Find links that correspond to the given arguments.
Find links that correspond to the given arguments .