summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2017-09-29 07:08:47 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2017-09-29 07:08:47 +0200
commit05656bbe237707794e9dd1e75e453413c0cf25a5 (patch)
treea3e34f32cc0654cc3cb69166d0723f37deea7302 /gitlab/v4/objects.py
parent69f1045627d8b5a9bdc51f8b74bf4394c95c8d9f (diff)
downloadgitlab-05656bbe237707794e9dd1e75e453413c0cf25a5.tar.gz
ProjectFile: handle / in path for delete() and save()
Fixes #326
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r--gitlab/v4/objects.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index a7bad18..4bd5aad 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -1360,6 +1360,7 @@ class ProjectFile(SaveMixin, ObjectDeleteMixin, RESTObject):
"""
self.branch = branch
self.commit_message = commit_message
+ self.file_path = self.file_path.replace('/', '%2F')
super(ProjectFile, self).save(**kwargs)
def delete(self, branch, commit_message, **kwargs):
@@ -1374,7 +1375,8 @@ class ProjectFile(SaveMixin, ObjectDeleteMixin, RESTObject):
GitlabAuthenticationError: If authentication is not correct
GitlabDeleteError: If the server cannot perform the request
"""
- self.manager.delete(self.get_id(), branch, commit_message, **kwargs)
+ file_path = self.get_id().replace('/', '%2F')
+ self.manager.delete(file_path, branch, commit_message, **kwargs)
class ProjectFileManager(GetMixin, CreateMixin, UpdateMixin, DeleteMixin,