]> git-server-git.apps.pok.os.sepia.ceph.com Git - remoto.git/commitdiff
create a remote error utility to capture traceback info
authorAlfredo Deza <alfredo@deza.pe>
Wed, 20 Nov 2013 17:35:52 +0000 (12:35 -0500)
committerAlfredo Deza <alfredo@deza.pe>
Wed, 20 Nov 2013 17:35:52 +0000 (12:35 -0500)
remoto/util.py

index 6098ac7519fa904dc55ab299ff1be3e7be0f29ed..3dad572e4e612c9a413aee201443a62c352d64d2 100644 (file)
@@ -14,3 +14,17 @@ def admin_command(sudo, command):
             command = [command]
         return ['sudo'] + [cmd for cmd in command]
     return command
+
+
+class RemoteError(object):
+
+    def __init__(self, traceback):
+        self.orig_traceback = traceback
+        self.exception_name = self.get_exception_name()
+
+    def get_exception_name(self):
+        for tb_line in reversed(self.orig_traceback.split('\n')):
+            if tb_line:
+                for word in tb_line.split():
+                    if word.endswith(':'):  # exception!
+                        return word.strip().strip(':')