Exemplo n.º 1
0
 def __set_pure_state__(self, state):
     z = state.data
     if z is not None:
         if sys.version_info[0] > 2:
             d = gunzip_string(z).decode('ascii')
         else:
             d = gunzip_string(z)
         r = tvtk.DataSetReader(read_from_input_string=1, input_string=d)
         warn = r.global_warning_display
         r.global_warning_display = 0
         r.update()
         r.global_warning_display = warn
         self.data = r.output
     # Now set the remaining state without touching the children.
     set_state(self, state, ignore=['children', 'data'])
     # Setup the children.
     handle_children_state(self.children, state.children)
     # Setup the children's state.
     set_state(self, state, first=['children'], ignore=['*'])
Exemplo n.º 2
0
 def __set_pure_state__(self, state):
     z = state.data
     if z is not None:
         if sys.version_info[0] > 2:
             d = gunzip_string(z).decode('ascii')
         else:
             d = gunzip_string(z)
         r = tvtk.DataSetReader(read_from_input_string=1,
                                input_string=d)
         warn = r.global_warning_display
         r.global_warning_display = 0
         r.update()
         r.global_warning_display = warn
         self.data = r.output
     # Now set the remaining state without touching the children.
     set_state(self, state, ignore=['children', 'data'])
     # Setup the children.
     handle_children_state(self.children, state.children)
     # Setup the children's state.
     set_state(self, state, first=['children'], ignore=['*'])
Exemplo n.º 3
0
    def verify(self, obj, state):
        data = state['data']
        self.assertEqual(state['class_name'], obj.__class__.__name__)
        data = data['data']
        self.assertEqual(data['b'], obj.b)
        self.assertEqual(data['i'], obj.i)
        self.assertEqual(data['l'], obj.l)
        self.assertEqual(data['f'], obj.f)
        self.assertEqual(data['c'], obj.c)
        self.assertEqual(data['n'], obj.n)
        self.assertEqual(data['s'], obj.s)
        self.assertEqual(data['u'], obj.u)
        if isinstance(obj, HasTraits):
            self.assertEqual(data['inst']['type'], 'reference')
        else:
            self.assertEqual(data['inst']['type'], 'reference')
        tup = data['tuple']['data']
        self.assertEqual(tup[:-1], obj.tuple[:-1])
        self.assertEqual(tup[-1]['data']['data']['a'], 't')
        lst = data['list']['data']
        self.assertEqual(lst[:-1], obj.list[:-1])

        if isinstance(obj, HasTraits):
            self.assertEqual(lst[-1]['type'], 'instance')
        else:
            self.assertEqual(lst[-1]['data']['data']['a'], 'b')

        pure_lst = data['pure_list']['data']
        self.assertEqual(pure_lst, obj.pure_list)
        dct = data['dict']['data']
        self.assertEqual(dct['a'], obj.dict['a'])
        self.assertEqual(dct['b'], obj.dict['b'])
        self.assertEqual(dct['ref']['type'], 'reference')

        junk = state_pickler.gunzip_string(
            data['numeric']['data'].decode('base64'))
        num = numpy.loads(junk)
        self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1)

        self.assertEqual(data['ref']['type'], 'reference')
        self.assertEqual(data['ref']['id'], data['numeric']['id'])
Exemplo n.º 4
0
    def verify(self, obj, state):
        data = state['data']
        self.assertEqual(state['class_name'], obj.__class__.__name__)
        data = data['data']
        self.assertEqual(data['b'], obj.b)
        self.assertEqual(data['i'], obj.i)
        self.assertEqual(data['l'], obj.l)
        self.assertEqual(data['f'], obj.f)
        self.assertEqual(data['c'], obj.c)
        self.assertEqual(data['n'], obj.n)
        self.assertEqual(data['s'], obj.s)
        self.assertEqual(data['u'], obj.u)
        tup = data['tuple']['data']
        self.assertEqual(tup[:-1], obj.tuple[:-1])
        self.assertEqual(tup[-1]['data']['data']['a'], 't')
        lst = data['list']['data']
        self.assertEqual(lst[:-1], obj.list[:-1])

        pure_lst = data['pure_list']['data']
        self.assertEqual(pure_lst, obj.pure_list)
        dct = data['dict']['data']
        self.assertEqual(dct['a'], obj.dict['a'])
        self.assertEqual(dct['b'], obj.dict['b'])

        self._check_instance_and_references(obj, data)

        num_attr = 'numeric' if data['numeric']['type'] == 'numeric' else 'ref'
        decodestring = getattr(base64, 'decodebytes', base64.decodestring)
        junk = state_pickler.gunzip_string(
            decodestring(data[num_attr]['data'])
        )
        num = numpy.loads(junk)
        self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1)

        self.assertTrue(data['ref']['type'] in ['reference', 'numeric'])
        if data['ref']['type'] == 'numeric':
            self.assertEqual(data['numeric']['type'], 'reference')
        else:
            self.assertEqual(data['numeric']['type'], 'numeric')
        self.assertEqual(data['ref']['id'], data['numeric']['id'])
Exemplo n.º 5
0
    def verify(self, obj, state):
        data = state['data']
        self.assertEqual(state['class_name'], obj.__class__.__name__)
        data = data['data']
        self.assertEqual(data['b'], obj.b)
        self.assertEqual(data['i'], obj.i)
        self.assertEqual(data['l'], obj.l)
        self.assertEqual(data['f'], obj.f)
        self.assertEqual(data['c'], obj.c)
        self.assertEqual(data['n'], obj.n)
        self.assertEqual(data['s'], obj.s)
        self.assertEqual(data['u'], obj.u)
        tup = data['tuple']['data']
        self.assertEqual(tup[:-1], obj.tuple[:-1])
        self.assertEqual(tup[-1]['data']['data']['a'], 't')
        lst = data['list']['data']
        self.assertEqual(lst[:-1], obj.list[:-1])

        pure_lst = data['pure_list']['data']
        self.assertEqual(pure_lst, obj.pure_list)
        dct = data['dict']['data']
        self.assertEqual(dct['a'], obj.dict['a'])
        self.assertEqual(dct['b'], obj.dict['b'])

        self._check_instance_and_references(obj, data)

        num_attr = 'numeric' if data['numeric']['type'] == 'numeric' else 'ref'
        decodestring = getattr(base64, 'decodebytes', base64.decodestring)
        junk = state_pickler.gunzip_string(decodestring(
            data[num_attr]['data']))
        num = pickle.loads(junk)
        self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1)

        self.assertTrue(data['ref']['type'] in ['reference', 'numeric'])
        if data['ref']['type'] == 'numeric':
            self.assertEqual(data['numeric']['type'], 'reference')
        else:
            self.assertEqual(data['numeric']['type'], 'numeric')
        self.assertEqual(data['ref']['id'], data['numeric']['id'])
    def verify(self, obj, state):
        data = state["data"]
        self.assertEqual(state["class_name"], obj.__class__.__name__)
        data = data["data"]
        self.assertEqual(data["b"], obj.b)
        self.assertEqual(data["i"], obj.i)
        self.assertEqual(data["longi"], obj.longi)
        self.assertEqual(data["f"], obj.f)
        self.assertEqual(data["c"], obj.c)
        self.assertEqual(data["n"], obj.n)
        self.assertEqual(data["s"], obj.s)
        self.assertEqual(data["u"], obj.u)
        tup = data["tuple"]["data"]
        self.assertEqual(tup[:-1], obj.tuple[:-1])
        self.assertEqual(tup[-1]["data"]["data"]["a"], "t")
        lst = data["list"]["data"]
        self.assertEqual(lst[:-1], obj.list[:-1])

        pure_lst = data["pure_list"]["data"]
        self.assertEqual(pure_lst, obj.pure_list)
        dct = data["dict"]["data"]
        self.assertEqual(dct["a"], obj.dict["a"])
        self.assertEqual(dct["b"], obj.dict["b"])

        self._check_instance_and_references(obj, data)

        num_attr = "numeric" if data["numeric"]["type"] == "numeric" else "ref"
        junk = state_pickler.gunzip_string(
            base64.decodebytes(data[num_attr]["data"]))
        num = pickle.loads(junk)
        self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1)

        self.assertIn(data["ref"]["type"], ["reference", "numeric"])
        if data["ref"]["type"] == "numeric":
            self.assertEqual(data["numeric"]["type"], "reference")
        else:
            self.assertEqual(data["numeric"]["type"], "numeric")
        self.assertEqual(data["ref"]["id"], data["numeric"]["id"])