You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by pq...@apache.org on 2010/01/23 01:07:33 UTC

svn commit: r902316 - /incubator/libcloud/trunk/libcloud/drivers/ec2.py

Author: pquerna
Date: Sat Jan 23 00:07:33 2010
New Revision: 902316

URL: http://svn.apache.org/viewvc?rev=902316&view=rev
Log:
return InvalidCredsException when you try to use an invalid user/pass on amazon

Modified:
    incubator/libcloud/trunk/libcloud/drivers/ec2.py

Modified: incubator/libcloud/trunk/libcloud/drivers/ec2.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/drivers/ec2.py?rev=902316&r1=902315&r2=902316&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/drivers/ec2.py (original)
+++ incubator/libcloud/trunk/libcloud/drivers/ec2.py Sat Jan 23 00:07:33 2010
@@ -111,14 +111,15 @@
         return ET.XML(self.body)
 
     def parse_error(self):
-        try:
-            err_list = []
-            for err in ET.XML(self.body).findall('Errors/Error'):
-                code, message = err.getchildren()
-                err_list.append("%s: %s" % (code.text, message.text))
-            return "\n".join(err_list)
-        except ExpatError:
-            return self.body
+        err_list = []
+        for err in ET.XML(self.body).findall('Errors/Error'):
+            code, message = err.getchildren()
+            err_list.append("%s: %s" % (code.text, message.text))
+            if code.text == "InvalidClientTokenId":
+                raise InvalidCredsException(message.text)
+            if code.text == "SignatureDoesNotMatch":
+                raise InvalidCredsException(message.text)
+        return "\n".join(err_list)
 
 class EC2Connection(ConnectionUserAndKey):