diff options
| author | Scott Moser <smoser@ubuntu.com> | 2012-11-12 09:34:34 -0500 |
|---|---|---|
| committer | Scott Moser <smoser@ubuntu.com> | 2012-11-12 09:34:34 -0500 |
| commit | 9de2f909415ad5a5ca4ad3584c73c0e643ba6079 (patch) | |
| tree | 39e176f79fedf638d50d3044435021a31b93d6f7 /cloudinit/handlers | |
| parent | b0f6c7bfa94a5ba302debdc16a175cb0017f9634 (diff) | |
| parent | 71ba36704132ff8597dfc0e45b34e0c4424e239f (diff) | |
| download | vyos-cloud-init-9de2f909415ad5a5ca4ad3584c73c0e643ba6079.tar.gz vyos-cloud-init-9de2f909415ad5a5ca4ad3584c73c0e643ba6079.zip | |
merge from trunk
Diffstat (limited to 'cloudinit/handlers')
| -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) |
