Exemple #1
0
    def CreateNode(self, msg, sender_id: str):
        sender_id = str(sender_id)
        tx = self.graph.begin()

        user = Node("user", sender_id=sender_id)
        print("0" * 50)
        print(user)
        new_elem = Node("chat",
                        **msg,
                        created_at=DateTime.now(asia),
                        sender_id=sender_id)
        print("L" * 50)
        print(new_elem["timestamp"])
        previous = self._get_latest(tx, sender_id)
        tx.merge(user, "user", "sender_id")
        tx.create(new_elem)
        tx.create(
            Relationship(previous or user,
                         "MSG",
                         new_elem,
                         since=new_elem["timestamp"]))
        tx.create(
            Relationship(user, "TO", new_elem, since=new_elem["timestamp"]))

        tx.commit()

        if previous is None:
            self._AddConstraint(sender_id)


# graph = Tracker4J("bolt://192.168.96.41:7687")
# graph.CreateNodeFromEvents(ex,"ddd")
Exemple #2
0
 def _execute_rollback_command(self, *args, **kwargs):
     if self.tx:
         self.tx = self.tx.rollback()
         self.display({
             "text/plain":
             "Transaction rolled back at {}".format(DateTime.now())
         })
     else:
         return self.error("TransactionError", "No current transaction")
Exemple #3
0
 def test_now_without_tz(self):
     t = DateTime.now()
     self.assertEqual(t.year, 1970)
     self.assertEqual(t.month, 1)
     self.assertEqual(t.day, 1)
     self.assertEqual(t.hour, 12)
     self.assertEqual(t.minute, 34)
     self.assertEqual(t.second, 56.789)
     self.assertIsNone(t.tzinfo)
Exemple #4
0
 def _execute_begin_command(self, *args, **kwargs):
     if self.tx is None:
         self.tx = self.graph.begin()
         self.tx_counter = 1
         self.display({
             "text/plain":
             "Began transaction at {}".format(DateTime.now())
         }),
     else:
         return self.error("TransactionError",
                           "A transaction has already begun")
Exemple #5
0
 def test_now_with_tz(self):
     t = DateTime.now(eastern)
     self.assertEqual(t.year, 1970)
     self.assertEqual(t.month, 1)
     self.assertEqual(t.day, 1)
     self.assertEqual(t.hour, 7)
     self.assertEqual(t.minute, 34)
     self.assertEqual(t.second, 56.789)
     self.assertEqual(t.utcoffset(), timedelta(seconds=-18000))
     self.assertEqual(t.dst(), timedelta())
     self.assertEqual(t.tzname(), "EST")
Exemple #6
0
    def CreateNode(self, msg, sender_id: str):
        sender_id = str(sender_id)
        tx = self.graph.begin()

        # Dict to kwaargs
        parent = self._get_latest(tx, sender_id)

        if(parent == None):
            tx = self._AddConstraint(tx, sender_id)

        if(tx.finished()):
            tx = graph.begin()

        new_elem = Node(sender_id, **msg, created_at=DateTime.now())

        tx.create(new_elem)
        new_elem = new_elem if (parent == None) else Relationship(
            parent, "TO", new_elem, since=new_elem['timestamp'])
        tx.create(new_elem)
        tx.commit()