示例#1
0
def handle_register(user_id=None, node_id=None, session=None):
    """
    Handle a registry request, creating a new node, wrapping it in a
    message and returning it to the client node.

    *user_id* can be a numeric key to a user record, which will be set
    in the node record itself.

    If *node_id* is given, it will be used instead of creating a new
    node. This allows for node reuse according to criteria specified
    by the programmer.
    """
    message = RegisterMessage()
    if node_id is not None:
        node = session.query(Node).filter(Node.node_id == node_id).first()
        if node is not None:
            message.node = node
            return message.to_json()
    newnode = Node()
    newnode.registered = datetime.datetime.now()
    newnode.registry_user_id = user_id
    newnode.secret = generate_secret(128)
    session.add(newnode)
    session.flush()
    message.node = newnode
    return message.to_json()
示例#2
0
def handle_register(user_id=None, node_id=None, session=None):
    """
    Handle a registry request, creating a new node, wrapping it in a
    message and returning it to the client node.

    *user_id* can be a numeric key to a user record, which will be set
    in the node record itself.

    If *node_id* is given, it will be used instead of creating a new
    node. This allows for node reuse according to criteria specified
    by the programmer.
    """
    message = RegisterMessage()
    if node_id is not None:
        node = session.query(Node).filter(Node.node_id == node_id).first()
        if node is not None:
            message.node = node
            return message.to_json()
    newnode = Node()
    newnode.registered = datetime.datetime.now()
    newnode.registry_user_id = user_id
    newnode.secret = generate_secret(128)
    session.add(newnode)
    session.flush()
    message.node = newnode
    return message.to_json()
示例#3
0

@client.track()
class B(Base):
    __tablename__ = "test_b"

    id = Column(GUID, primary_key=True, default=lambda: uuid.uuid4())
    name = Column(String)
    a_id = Column(GUID, ForeignKey("test_a.id"))
    data = Column(String)

    a = relationship(A, backref="bs")

    def __repr__(self):
        return u"<B id:{0} name:{1} a_id:{2}>".format(self.id, self.name,
                                                      self.a_id)


if os.path.exists(db_file):
    os.remove(db_file)
Base.metadata.create_all(engine)
dbsync.set_engine(engine)
dbsync.create_all()
dbsync.generate_content_types()
_session = Session()
_session.add(
    models.Node(registered=datetime.datetime.now(),
                secret=generate_secret(128)))
_session.commit()
_session.close()
示例#4
0
    name = Column(String)

    def __repr__(self):
        return u"<A id:{0} name:{1}>".format(self.id, self.name)


@client.track
class B(Base):
    __tablename__ = "test_b"

    id = Column(Integer, primary_key=True)
    name = Column(String)
    a_id = Column(Integer, ForeignKey("test_a.id"))

    a = relationship(A, backref="bs")

    def __repr__(self):
        return u"<B id:{0} name:{1} a_id:{2}>".format(
            self.id, self.name, self.a_id)


Base.metadata.create_all(engine)
dbsync.set_engine(engine)
dbsync.create_all()
dbsync.generate_content_types()
_session = Session()
_session.add(
    models.Node(registered=datetime.datetime.now(), secret=generate_secret(128)))
_session.commit()
_session.close()