示例#1
0
 def _process(self, sequence, producer):
     for operands in sequence:
         for name, value in operands:
             if value:
                 packet = osc.decode(value)
                 yield (('osc', packet),
                        ('timetag', packet.timetag if not self._receipttime \
                             else datetime.datetime.now()))
示例#2
0
 def test_Bundle(self):
     timetag = datetime.datetime.now()
     bdl1 = osc.Bundle(timetag,
                       (osc.Message(self.address,"is",1,"unittest"), 
                        osc.Message(self.address,"TFNIib",2,b"unittest")))
     debug1 = io.StringIO()
     bdl1.debug(debug1)
     data1 = bdl1.encode()
     bdl2 = osc.decode(data1)
     debug2 = io.StringIO()
     bdl2.debug(debug2)
     data2 = bdl2.encode()
     self.assertEqual(bdl1.timetag, timetag)
     self.assertEqual(bdl2.timetag, timetag)
     self.assertIsInstance(str(bdl1), str)
     self.assertIsInstance(str(bdl2), str)
     self.assertEqual(data1, data2)
     self.assertEqual(debug1.getvalue(), debug2.getvalue())
示例#3
0
 def test_Message_bytes_argument(self):
     msg1 = osc.Message(self.address,None, b"unittest")
     debug1 = io.StringIO()
     msg1.debug(debug1)
     data1 = msg1.encode()
     msg2 = osc.decode(data1)
     debug2 = io.StringIO()
     msg2.debug(debug2)
     data2 = msg2.encode()
     self.assertEqual(msg1.address, self.address)
     self.assertEqual(msg2.address, self.address)
     self.assertIsInstance(str(msg1), str)
     self.assertIsInstance(str(msg2), str)
     self.assertEqual(data1, data2)
     self.assertIsNotNone(debug1.getvalue())
     self.assertIsNotNone(debug2.getvalue())
     self.assertEqual(msg1.address, msg2.address)
     self.assertEqual(msg1.arguments, msg2.arguments)
示例#4
0
 def test_Message_not_arguments_typetag(self):
     msg1 = osc.Message(self.address,"TFNIi",17)
     debug1 = io.StringIO()
     msg1.debug(debug1)
     data1 = msg1.encode()
     msg2 = osc.decode(data1)
     debug2 = io.StringIO()
     msg2.debug(debug2)
     data2 = msg2.encode()
     self.assertEqual(msg1.address, self.address)
     self.assertEqual(msg2.address, self.address)
     self.assertEqual(msg1.typetags, "TFNIi")
     self.assertEqual(msg2.typetags, "TFNIi")
     self.assertEqual(msg1.arguments, (17,))
     self.assertEqual(msg2.arguments, (17,))
     self.assertIsInstance(str(msg1), str)
     self.assertIsInstance(str(msg2), str)
     self.assertEqual(data1, data2)
     self.assertEqual(debug1.getvalue(), debug2.getvalue())
示例#5
0
 def test_Message_arguments(self):
     msg1 = osc.Message(self.address,"iifs",17,10,0.125,"unittest")
     debug1 = io.StringIO()
     msg1.debug(debug1)
     data1 = msg1.encode()
     msg2 = osc.decode(data1)
     debug2 = io.StringIO()
     msg2.debug(debug2)
     data2 = msg2.encode()
     self.assertEqual(msg1.address, self.address)
     self.assertEqual(msg2.address, self.address)
     self.assertEqual(msg1.typetags, "iifs")
     self.assertEqual(msg2.typetags, "iifs")
     self.assertEqual(msg1.arguments, (17,10,0.125,"unittest"))
     self.assertEqual(msg2.arguments, (17,10,0.125,"unittest"))
     self.assertIsInstance(str(msg1), str)
     self.assertIsInstance(str(msg2), str)
     self.assertEqual(data1, data2)
     self.assertEqual(debug1.getvalue(), debug2.getvalue())
示例#6
0
 def test_Message_bytes_no_typetag(self):
     msg1 = osc.Message(self.address,"b",b"unittest")
     debug1 = io.StringIO()
     msg1.debug(debug1)
     data1 = msg1.encode()
     msg2 = osc.decode(data1)
     debug2 = io.StringIO()
     msg2.debug(debug2)
     data2 = msg2.encode()
     self.assertEqual(msg1.address, self.address)
     self.assertEqual(msg2.address, self.address)
     self.assertEqual(msg1.typetags, "b")
     self.assertEqual(msg2.typetags, "b")
     self.assertEqual(msg1.arguments, (b"unittest",))
     self.assertEqual(msg2.arguments, (b"unittest",))      
     self.assertIsInstance(str(msg1), str)
     self.assertIsInstance(str(msg2), str)
     self.assertEqual(data1, data2)
     self.assertEqual(debug1.getvalue(), debug2.getvalue())
示例#7
0
 def test_nested_Bundle(self):
     timetag = datetime.datetime.now()
     bdl1 = osc.Bundle(timetag,
                       (osc.Bundle(None, 
                                   (osc.Message(self.address,"i",1),
                                    osc.Message(self.address,"i",2))), 
                        osc.Message(self.address,"f",2.0)))
     debug1 = io.StringIO()
     bdl1.debug(debug1)
     data1 = bdl1.encode()
     bdl2 = osc.decode(data1)
     debug2 = io.StringIO()
     bdl2.debug(debug2)
     data2 = bdl2.encode()
     self.assertEqual(bdl1.timetag, timetag)
     self.assertEqual(bdl2.timetag, timetag)
     self.assertIsInstance(str(bdl1), str)
     self.assertIsInstance(str(bdl2), str)
     self.assertEqual(data1, data2)
     self.assertEqual(debug1.getvalue(), debug2.getvalue())
示例#8
0
 def decode(self, encoded):
     unslipped = self.unslip.decode(encoded)
     return tuple(osc.decode(obj) for obj in unslipped)