Skip to content

Commit 8c6c150

Browse files
committed
Store unicode strings properly in exceptions
1 parent 8ed2573 commit 8c6c150

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

CHANGES

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Version 7.0
88

99
(upcoming release with new features, release date to be decided)
1010

11+
- The exception objects now store unicode properly.
12+
1113
Version 6.3
1214
-----------
1315

click/exceptions.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,22 @@ class ClickException(Exception):
99
exit_code = 1
1010

1111
def __init__(self, message):
12+
ctor_msg = message
1213
if PY2:
13-
if message is not None:
14-
message = message.encode('utf-8')
15-
Exception.__init__(self, message)
14+
if ctor_msg is not None:
15+
ctor_msg = ctor_msg.encode('utf-8')
16+
Exception.__init__(self, ctor_msg)
1617
self.message = message
1718

1819
def format_message(self):
1920
return self.message
2021

22+
def __unicode__(self):
23+
return self.message
24+
25+
def __str__(self):
26+
return self.message.encode('utf-8')
27+
2128
def show(self, file=None):
2229
if file is None:
2330
file = get_text_stderr()

0 commit comments

Comments
 (0)