diff options
| author | Scott Moser <smoser@ubuntu.com> | 2012-11-07 10:23:32 -0500 |
|---|---|---|
| committer | Scott Moser <smoser@ubuntu.com> | 2012-11-07 10:23:32 -0500 |
| commit | 8ada8c1f625be5365a5116c458476c7deeae8818 (patch) | |
| tree | a2f3b4c968a3fd4cbc76ad59ce70563485ea8171 /cloudinit/handlers/__init__.py | |
| parent | 0da58fe113726c7654bca54b365d95044b44ef87 (diff) | |
| parent | ce5a554672f4ffbc383af08a35d22a1dd89ce41f (diff) | |
| download | vyos-cloud-init-8ada8c1f625be5365a5116c458476c7deeae8818.tar.gz vyos-cloud-init-8ada8c1f625be5365a5116c458476c7deeae8818.zip | |
merge from trunk
Diffstat (limited to 'cloudinit/handlers/__init__.py')
| -rw-r--r-- | cloudinit/handlers/__init__.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cloudinit/handlers/__init__.py b/cloudinit/handlers/__init__.py index 99caed1f..8d6dcd4d 100644 --- a/cloudinit/handlers/__init__.py +++ b/cloudinit/handlers/__init__.py @@ -160,6 +160,19 @@ def _extract_first_or_bytes(blob, size): return start +def _escape_string(text): + try: + return text.encode("string-escape") + except TypeError: + try: + # Unicode doesn't support string-escape... + return text.encode('unicode-escape') + except TypeError: + # Give up... + pass + return text + + def walker_callback(pdata, ctype, filename, payload): if ctype in PART_CONTENT_TYPES: walker_handle_handler(pdata, ctype, filename, payload) @@ -171,7 +184,7 @@ 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")) + details = "'%s...'" % (_escape_string(start)) if ctype == NOT_MULTIPART_TYPE: LOG.warning("Unhandled non-multipart (%s) userdata: %s", ctype, details) |
