From 9c010b2608e15eac56469ce7a305308545321ac3 Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Wed, 6 Dec 2017 14:26:11 +0100 Subject: [PATCH 1/4] mixins.py: Avoid sending empty update data to issue.save When saving an issue we send the updated data only. However the server expect at least one parameter to be provided, otherwise it fails with an exception. Check whether we have some update to send, otherwise skip the update altogether. --- gitlab/mixins.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 3d6e321c8..e1a85d2f6 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -298,6 +298,9 @@ def save(self, **kwargs): GitlabUpdateError: If the server cannot perform the request """ updated_data = self._get_updated_data() + # Nothing to update. Servers fails if sent an empty dict. + if len(updated_data.keys()) == 9: + return # call the manager obj_id = self.get_id() From 13f1a35782c7b50bfe99bee8f3b685056fac0b65 Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Mon, 11 Dec 2017 11:29:01 +0100 Subject: [PATCH 2/4] Fix two typos --- gitlab/mixins.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index e1a85d2f6..ebfe0d0b4 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -298,8 +298,8 @@ def save(self, **kwargs): GitlabUpdateError: If the server cannot perform the request """ updated_data = self._get_updated_data() - # Nothing to update. Servers fails if sent an empty dict. - if len(updated_data.keys()) == 9: + # Nothing to update. Server fails if sent an empty dict. + if len(updated_data.keys()) == 0: return # call the manager From 4047536f0184d6cfce6b2d3019c8080e71ca1a65 Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Wed, 13 Dec 2017 11:06:01 +0100 Subject: [PATCH 3/4] Update code to be more pythonic --- gitlab/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index ebfe0d0b4..7c50cdf5b 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -299,7 +299,7 @@ def save(self, **kwargs): """ updated_data = self._get_updated_data() # Nothing to update. Server fails if sent an empty dict. - if len(updated_data.keys()) == 0: + if not updated_data.keys(): return # call the manager From 130a7c1aab9c388edb6362173f0ffbd6fcd070c4 Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Wed, 13 Dec 2017 11:06:59 +0100 Subject: [PATCH 4/4] Use updated data, not need to query the keys --- gitlab/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 7c50cdf5b..a5e996a35 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -299,7 +299,7 @@ def save(self, **kwargs): """ updated_data = self._get_updated_data() # Nothing to update. Server fails if sent an empty dict. - if not updated_data.keys(): + if not updated_data: return # call the manager