summaryrefslogtreecommitdiff
path: root/gitlab.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab.py')
-rw-r--r--gitlab.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/gitlab.py b/gitlab.py
index 22e5a3b..fc34086 100644
--- a/gitlab.py
+++ b/gitlab.py
@@ -18,6 +18,7 @@
import json
import requests
+import sys
__title__ = 'python-gitlab'
__version__ = '0.3'
@@ -298,8 +299,10 @@ class Gitlab(object):
# build a dict of data that can really be sent to server
d = {}
for k, v in obj.__dict__.items():
- if type(v) in (int, str, unicode, bool):
+ if type(v) in (int, str, bool):
d[k] = str(v)
+ elif type(v) == unicode:
+ d[k] = str(v.encode(sys.stdout.encoding, "replace"))
try:
r = requests.put(url, d, headers=self.headers, verify=self.ssl_verify)
@@ -520,6 +523,8 @@ class GitlabObject(object):
elif isinstance(obj, list):
s = ", ".join([GitlabObject._obj_to_str(x) for x in obj])
return "[ %s ]" %s
+ elif isinstance(obj, unicode):
+ return obj.encode(sys.stdout.encoding, "replace")
else:
return str(obj)
@@ -530,7 +535,7 @@ class GitlabObject(object):
if k == self.idAttr:
continue
v = self.__dict__[k]
- pretty_k = k.replace('_', '-')
+ pretty_k = k.replace('_', '-').encode(sys.stdout.encoding, "replace")
if isinstance(v, GitlabObject):
if depth == 0:
print("%s:" % pretty_k)