From b4b5decb7e49ac16d98d56547a874fb8f9d5492b Mon Sep 17 00:00:00 2001 From: bourgesl Date: Mon, 15 Jul 2019 13:45:23 +0200 Subject: [PATCH] fix: improve pickle support --- gitlab/base.py | 2 +- gitlab/tests/test_base.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gitlab/base.py b/gitlab/base.py index d2e44b8ae..f81d03989 100644 --- a/gitlab/base.py +++ b/gitlab/base.py @@ -52,7 +52,7 @@ def __getstate__(self): def __setstate__(self, state): module_name = state.pop("_module_name") self.__dict__.update(state) - self._module = importlib.import_module(module_name) + self.__dict__["_module"] = importlib.import_module(module_name) def __getattr__(self, name): try: diff --git a/gitlab/tests/test_base.py b/gitlab/tests/test_base.py index 2526bee5d..47eda6c19 100644 --- a/gitlab/tests/test_base.py +++ b/gitlab/tests/test_base.py @@ -93,6 +93,7 @@ def test_pickability(self): self.assertIsInstance(unpickled, FakeObject) self.assertTrue(hasattr(unpickled, "_module")) self.assertEqual(unpickled._module, original_obj_module) + pickled2 = pickle.dumps(unpickled) def test_attrs(self): obj = FakeObject(self.manager, {"foo": "bar"})