From dafb659315f2d15abfe17050e83ce506ef57cee9 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 16 Jan 2012 02:19:34 -0500 Subject: [PATCH] added __getstate__ and __setstate__ to TileSet to fix pickling --- overviewer_core/tileset.py | 13 +++++++++++++ overviewer_core/world.py | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/overviewer_core/tileset.py b/overviewer_core/tileset.py index f280a64..b887e61 100644 --- a/overviewer_core/tileset.py +++ b/overviewer_core/tileset.py @@ -265,6 +265,13 @@ class TileSet(object): else: raise ValueError("imgformat must be one of: 'png' or 'jpeg'") + # Only pickle the initial state. Don't pickle anything resulting from the + # do_preprocessing step + def __getstate__(self): + return self.regionset, self.am, self.textures, self.options, self.outputdir + def __setstate__(self, state): + self.__init__(*state) + def do_preprocessing(self): """For the preprocessing step of the Worker interface, this does the chunk scan and stores the resulting tree as a private instance @@ -1262,6 +1269,12 @@ class RenderTile(object): def __ne__(self, other): return not self == other + # To support pickling + def __getstate__(self): + return self.col, self.row, self.path + def __setstate__(self, state): + self.__init__(*state) + def get_filepath(self, tiledir, imgformat): """Returns the path to this file given the directory to the tiles diff --git a/overviewer_core/world.py b/overviewer_core/world.py index 7abaae1..ff21f96 100644 --- a/overviewer_core/world.py +++ b/overviewer_core/world.py @@ -221,7 +221,6 @@ class RegionSet(object): in-memory. """ - #self.world = worldobj self.regiondir = regiondir logging.info("Scanning regions")