diff options
| author | Joshua Harlow <harlowja@yahoo-inc.com> | 2012-11-07 20:53:34 -0800 |
|---|---|---|
| committer | Joshua Harlow <harlowja@yahoo-inc.com> | 2012-11-07 20:53:34 -0800 |
| commit | dbeb73f174ccc3b992a8488b7a72cf35c685f139 (patch) | |
| tree | eb857beba4c6b71cd1ab8ba4b947ab54907349e5 /cloudinit/handlers/__init__.py | |
| parent | 04f52eb593e4f5114626c74fd8f3c5a9a8d440bd (diff) | |
| parent | 1e6fc277a1c8d695c37741cc31f5ddab3d5b5600 (diff) | |
| download | vyos-cloud-init-dbeb73f174ccc3b992a8488b7a72cf35c685f139.tar.gz vyos-cloud-init-dbeb73f174ccc3b992a8488b7a72cf35c685f139.zip | |
1. Rebased with trunk
2. Added example cloud-config
3. Added functioning test for yum config
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) |
