summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-20 17:38:43 +0000
committerGerrit Code Review <review@openstack.org>2015-04-20 17:38:43 +0000
commitccf96f1a50d8844cae7520c788bf6c13f5e806f6 (patch)
tree817823507c569cc528c155a5e80db25b2de8cf36
parenteca0883bc1ad41d8f27a9e7c742079b611903a07 (diff)
parent09bcf5c89a437524aa9d02a6b5c2dada605d9d0d (diff)
downloadpython-ceilometerclient-ccf96f1a50d8844cae7520c788bf6c13f5e806f6.tar.gz
Merge "Support unicode for alarm" into stable/kilo
-rw-r--r--ceilometerclient/common/utils.py4
-rw-r--r--ceilometerclient/tests/test_utils.py17
2 files changed, 14 insertions, 7 deletions
diff --git a/ceilometerclient/common/utils.py b/ceilometerclient/common/utils.py
index 4e77632..b6408cf 100644
--- a/ceilometerclient/common/utils.py
+++ b/ceilometerclient/common/utils.py
@@ -98,12 +98,12 @@ def print_dict(d, dict_property="Property", wrap=0):
col1 = k
for line in lines:
if wrap > 0:
- line = textwrap.fill(str(line), wrap)
+ line = textwrap.fill(six.text_type(line), wrap)
pt.add_row([col1, line])
col1 = ''
else:
if wrap > 0:
- v = textwrap.fill(str(v), wrap)
+ v = textwrap.fill(six.text_type(v), wrap)
pt.add_row([k, v])
encoded = encodeutils.safe_encode(pt.get_string())
# FIXME(gordc): https://bugs.launchpad.net/oslo-incubator/+bug/1370710
diff --git a/ceilometerclient/tests/test_utils.py b/ceilometerclient/tests/test_utils.py
index 6ef1fd1..23235d3 100644
--- a/ceilometerclient/tests/test_utils.py
+++ b/ceilometerclient/tests/test_utils.py
@@ -43,7 +43,8 @@ class UtilsTest(test_utils.BaseTestCase):
with mock.patch('sys.stdout', new=six.StringIO()) as stdout:
utils.print_dict({'alarm_id': '262567fd-d79a-4bbb-a9d0-59d879b6',
- 'description': 'test alarm',
+ 'name': u'\u6d4b\u8bd5',
+ 'description': u'\u6d4b\u8bd5',
'state': 'insufficient data',
'repeat_actions': 'False',
'type': 'threshold',
@@ -53,13 +54,15 @@ class UtilsTest(test_utils.BaseTestCase):
'\\n description: test,'
'\\n start: 0 18 * * *,'
'\\n duration: 1,'
- '\\n timezone: US}]'})
- self.assertEqual('''\
+ '\\n timezone: US}]'},
+ wrap=72)
+ expected = u'''\
+------------------+----------------------------------+
| Property | Value |
+------------------+----------------------------------+
| alarm_id | 262567fd-d79a-4bbb-a9d0-59d879b6 |
-| description | test alarm |
+| description | \u6d4b\u8bd5 |
+| name | \u6d4b\u8bd5 |
| repeat_actions | False |
| state | insufficient data |
| statistic | avg |
@@ -71,7 +74,11 @@ class UtilsTest(test_utils.BaseTestCase):
| | timezone: US}] |
| type | threshold |
+------------------+----------------------------------+
-''', stdout.getvalue())
+'''
+ # py2 prints str type, py3 prints unicode type
+ if six.PY2:
+ expected = expected.encode('utf-8')
+ self.assertEqual(expected, stdout.getvalue())
def test_print_list(self):
class Foo(object):