Ejemplo n.º 1
0
 def check(Pickler):
     for proto in range(pickle.HIGHEST_PROTOCOL + 1):
         f = io.BytesIO()
         pickler = Pickler(f, proto)
         pickler.dump('abc')
         self.assertEqual(self.loads(f.getvalue()), 'abc')
     pickler = Pickler(io.BytesIO())
     self.assertEqual(pickler.persistent_id('def'), 'def')
     r = weakref.ref(pickler)
     del pickler
     self.assertIsNone(r())
Ejemplo n.º 2
0
 def __setitem__(self, key, value):
     if type(value) is dict:
         blue = Blue_dict(key, value, self, self)
         self.__vars__[key] = blue
         self.__blues__[key] = blue
         with open(f'{self.name}.blue', 'wb') as fp:
             p = Pickler(fp)
             p.dump(self)
     else:
         self.__vars__[key] = value
         with open(f'{self.name}.blue', 'wb') as fp:
             p = Pickler(fp)
             p.dump(self)
     self.__base_reload__()
Ejemplo n.º 3
0
    def __init__(self, name, **kwargs):

        self.name = name
        self.__vars__ = {}
        self.__blues__ = {}

        try:
            with open(f'{self.name}.blue', 'rb') as fp:
                p = Unpickler(fp)
                q = p.load()
                self.__vars__ = q.__vars__
                self.__blues__ = q.__blues__
                self.__loaded__ = q
        except:
            with open(f'{self.name}.blue', 'wb') as fp:
                p = Pickler(fp)
                p.dump(self)
Ejemplo n.º 4
0
def saveturn():
	filename = 'lastturn'
	if lexists(filename):
		file = open(filename, 'wb')
	else:
		file = open(filename, 'xb')

	saver = Pickler(file)
	saver.dump(summoners)
	saver.dump(teams)
	saver.dump(board)
	saver.dump(boardwidth)
	saver.dump(boardheight)
	saver.dump(modifiers)
	saver.dump(gamemods)
	saver.dump(whoseturn)
	saver.dump(phase)
	saver.dump(subphase)
	#cannot save action, because will give error with inner methods (like render).
	file.close()
Ejemplo n.º 5
0
    def test_custom_pickler_dispatch_table_memleak(self):
        # See https://github.com/python/cpython/issues/89988

        class Pickler(self.pickler):
            def __init__(self, *args, **kwargs):
                self.dispatch_table = table
                super().__init__(*args, **kwargs)

        class DispatchTable:
            pass

        table = DispatchTable()
        pickler = Pickler(io.BytesIO())
        self.assertIs(pickler.dispatch_table, table)
        table_ref = weakref.ref(table)
        self.assertIsNotNone(table_ref())
        del pickler
        del table
        support.gc_collect()
        self.assertIsNone(table_ref())
Ejemplo n.º 6
0
def save_input():
    print("Saving...")
    pf = open(options.pickle, "wb")
    Pickler(pf).dump(inp)
    pf.close()
Ejemplo n.º 7
0
 def __delitem__(self, key):
     del self.__vars__[key]
     with open(f'{self.name}.blue', 'wb') as thing:
         p = Pickler(thing)
         p.dump(self)
     self.__base_reload__()