summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Wittig <max.wittig95@gmail.com>2019-07-21 21:15:48 +0200
committerGitHub <noreply@github.com>2019-07-21 21:15:48 +0200
commitf0e3daadb7f669b7d041a3024da238b54eaacda4 (patch)
treef574744e32782a455c991fa139b975dcd79c629d
parent8d54cf57b03ff5509801c10d9dfe47e708173935 (diff)
parentb4b5decb7e49ac16d98d56547a874fb8f9d5492b (diff)
downloadgitlab-f0e3daadb7f669b7d041a3024da238b54eaacda4.tar.gz
Merge pull request #838 from python-gitlab/pickle-fix
fix: improve pickle support
-rw-r--r--gitlab/base.py2
-rw-r--r--gitlab/tests/test_base.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/gitlab/base.py b/gitlab/base.py
index d2e44b8..f81d039 100644
--- a/gitlab/base.py
+++ b/gitlab/base.py
@@ -52,7 +52,7 @@ class RESTObject(object):
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 2526bee..47eda6c 100644
--- a/gitlab/tests/test_base.py
+++ b/gitlab/tests/test_base.py
@@ -93,6 +93,7 @@ class TestRESTObject(unittest.TestCase):
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"})