diff options
author | Joshua Harlow <harlowja@yahoo-inc.com> | 2012-11-06 14:13:30 -0800 |
---|---|---|
committer | Joshua Harlow <harlowja@yahoo-inc.com> | 2012-11-06 14:13:30 -0800 |
commit | 7d027a031a3649ac04965a09cd26563ac9d760fd (patch) | |
tree | cb04d4327c4bdcd0ceca1da317d33242abf8b8d5 /cloudinit/handlers/__init__.py | |
parent | c508fa0c4159f93df077a2d46ed481fd5d8c8803 (diff) | |
download | vyos-cloud-init-7d027a031a3649ac04965a09cd26563ac9d760fd.tar.gz vyos-cloud-init-7d027a031a3649ac04965a09cd26563ac9d760fd.zip |
Fix the case where a unknown type is seen and
it has contents which are in unicode which seems
to cause python to blow-up when this happens since
'string-escape' doesn't work on unicode (at least in 2.6).
LP: #1075756
Diffstat (limited to 'cloudinit/handlers/__init__.py')
-rw-r--r-- | cloudinit/handlers/__init__.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cloudinit/handlers/__init__.py b/cloudinit/handlers/__init__.py index 99caed1f..e843eb75 100644 --- a/cloudinit/handlers/__init__.py +++ b/cloudinit/handlers/__init__.py @@ -171,7 +171,11 @@ def walker_callback(pdata, ctype, filename, payload): elif payload: # Extract the first line or 24 bytes for displaying in the log start = _extract_first_or_bytes(payload, 24) - details = "'%s...'" % (start.encode("string-escape")) + try: + details = "'%s...'" % (start.encode("string-escape")) + except TypeError: + # Unicode doesn't support string-escape... + details = "'%s...'" % (start) if ctype == NOT_MULTIPART_TYPE: LOG.warning("Unhandled non-multipart (%s) userdata: %s", ctype, details) |