def add_node(self, params, demand, depth=0, session=None): session_was_none = session is None if session_was_none: session = self._open_session() node, created = Node.get_or_create(params, session) if not created: return node if depth < self.depth_threshold: self._extend_graph(node, depth, session) if demand > 0: node.add_demand(demand) if session_was_none: session.commit() return node
def add_event(self, params): session = self._open_session() node, _ = Node.get_or_create(params, session) node.satisfy(session) session.commit()