def add_link(self, name, desc, layout, node_1, node_2):
        """
            Add a link to a network. Links are what effectively
            define the network topology, by associating two already
            existing nodes.
        """

        existing_link = get_session().query(Link).filter(Link.name==name, Link.network_id==self.id).first()
        if existing_link is not None:
            raise HydraError("A link with name %s is already in network %s"%(name, self.id))

        l = Link()
        l.name        = name
        l.description = desc
        l.layout           = json.dumps(layout) if layout is not None else None
        l.node_a           = node_1
        l.node_b           = node_2

        get_session().add(l)

        self.links.append(l)

        return l
def add_link ( self , name , desc , layout , node_1 , node_2 ) : existing_link = get_session ( ) . query ( Link ) . filter ( Link . name == name , Link . network_id == self . id ) . first ( ) if existing_link is not None : raise HydraError ( "A link with name %s is already in network %s" % ( name , self . id ) ) l = Link ( ) l . name = name l . description = desc l . layout = json . dumps ( layout ) if layout is not None else None l . node_a = node_1 l . node_b = node_2 get_session ( ) . add ( l ) self . links . append ( l ) return l
Add a link to a network. Links are what effectively
            define the network topology, by associating two already
            existing nodes.