summaryrefslogtreecommitdiff
path: root/swiftclient/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'swiftclient/utils.py')
-rw-r--r--swiftclient/utils.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/swiftclient/utils.py b/swiftclient/utils.py
index 8edfcfa..6ff6259 100644
--- a/swiftclient/utils.py
+++ b/swiftclient/utils.py
@@ -17,9 +17,9 @@ import hashlib
import hmac
import json
import logging
-import time
-
import six
+import time
+import traceback
TRUE_VALUES = set(('true', '1', 'yes', 'on', 't', 'y'))
EMPTY_ETAG = 'd41d8cd98f00b204e9800998ecf8427e'
@@ -119,6 +119,20 @@ def parse_api_response(headers, body):
return json.loads(body.decode(charset))
+def report_traceback():
+ """
+ Reports a timestamp and full traceback for a given exception.
+
+ :return: Full traceback and timestamp.
+ """
+ try:
+ formatted_lines = traceback.format_exc()
+ now = time.time()
+ return formatted_lines, now
+ except AttributeError:
+ return None, None
+
+
class NoopMD5(object):
def __init__(self, *a, **kw):
pass