From e4e0c73f31fe2cb26108d7d7bcf4f30826458587 Mon Sep 17 00:00:00 2001 From: kernelport <30635575+kernelport@users.noreply.github.com> Date: Wed, 22 Apr 2020 17:33:55 +0200 Subject: [PATCH 1/3] make it possible to update subpages in wikis Workaround for https://github.com/python-gitlab/python-gitlab/issues/1079 --- gitlab/mixins.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 9c00c324d..1378e6cd1 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -382,6 +382,7 @@ def save(self, **kwargs): # call the manager obj_id = self.get_id() + obj_id = obj_id.replace('/', '%2F') server_data = self.manager.update(obj_id, updated_data, **kwargs) if server_data is not None: self._update_attrs(server_data) From f64348684b57d7b43176fb8ad701535ee393bda5 Mon Sep 17 00:00:00 2001 From: kernelport <30635575+kernelport@users.noreply.github.com> Date: Wed, 22 Apr 2020 21:27:10 +0200 Subject: [PATCH 2/3] save should return an updated slug in case of change the title --- gitlab/mixins.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 1378e6cd1..a280784bd 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -386,6 +386,7 @@ def save(self, **kwargs): server_data = self.manager.update(obj_id, updated_data, **kwargs) if server_data is not None: self._update_attrs(server_data) + return server_data class ObjectDeleteMixin(object): From 5d4adeb6f06ab43719649fcea27453ecd48ab496 Mon Sep 17 00:00:00 2001 From: kernelport <30635575+kernelport@users.noreply.github.com> Date: Fri, 24 Apr 2020 16:41:12 +0200 Subject: [PATCH 3/3] FIX: replace sub pages in wiki --- gitlab/mixins.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index a280784bd..c2ba6d096 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -382,7 +382,8 @@ def save(self, **kwargs): # call the manager obj_id = self.get_id() - obj_id = obj_id.replace('/', '%2F') + if isinstance(obj_id, (str)): + obj_id = obj_id.replace('/', '%2F') server_data = self.manager.update(obj_id, updated_data, **kwargs) if server_data is not None: self._update_attrs(server_data)