diff --git a/gitlab.py b/gitlab.py index a64fdcada..90b33024d 100644 --- a/gitlab.py +++ b/gitlab.py @@ -574,7 +574,11 @@ def _obj_to_str(obj): 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") + if sys.stdout.encoding is None: + return obj.encode(sys.getdefaultencoding(), "replace") + else: + return obj.encode(sys.stdout.encoding, "replace") + else: return str(obj) @@ -585,8 +589,14 @@ def pretty_print(self, depth=0): if k == self.idAttr: continue v = self.__dict__[k] - pretty_k = k.replace('_', '-').encode(sys.stdout.encoding, - "replace") + + if sys.stdout.encoding is None: + pretty_k = k.replace('_','-').encode(sys.getdefaultencoding(), + "replace") + else: + pretty_k = k.replace('_', '-').encode(sys.stdout.encoding, + "replace") + if isinstance(v, GitlabObject): if depth == 0: print("%s:" % pretty_k)