[tor-commits] [bridgedb/develop] Simplify GimpCaptchaKeyError and ReCaptchaKeyError into CaptchaKeyError.

isis at torproject.org isis at torproject.org
Wed May 14 22:41:20 UTC 2014


commit f5be372df769be8934ac6666e1433e3b92718eab
Author: Isis Lovecruft <isis at torproject.org>
Date:   Wed May 14 20:41:00 2014 +0000

    Simplify GimpCaptchaKeyError and ReCaptchaKeyError into CaptchaKeyError.
    
     * REMOVE exception class captcha.GimpCaptchaKeyError.
     * REMOVE exception class captcha.ReCaptchaKeyError.
     * ADD exception class captcha.CaptchaKeyError.
---
 lib/bridgedb/captcha.py           |   17 +++++++----------
 lib/bridgedb/test/test_captcha.py |   16 ++++++++--------
 2 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/lib/bridgedb/captcha.py b/lib/bridgedb/captcha.py
index 0018988..15f1083 100644
--- a/lib/bridgedb/captcha.py
+++ b/lib/bridgedb/captcha.py
@@ -68,15 +68,12 @@ from bridgedb import crypto
 from bridgedb.txrecaptcha import API_SSL_SERVER
 
 
-class ReCaptchaKeyError(Exception):
-    """Exception raised when recaptcha API keys are not supplied."""
+class CaptchaKeyError(Exception):
+    """Raised if a CAPTCHA system's keys are invalid or missing."""
 
 class GimpCaptchaError(Exception):
     """General exception raised when a Gimp CAPTCHA cannot be retrieved."""
 
-class GimpCaptchaKeyError(ValueError):
-    """Raised when there is a problem with one of the Gimp CAPTCHA keys."""
-
 
 class ICaptcha(Interface):
     """Interface specification for CAPTCHAs."""
@@ -135,12 +132,12 @@ class ReCaptcha(Captcha):
         stored at ``ReCaptcha.image`` and the challenge string at
         ``ReCaptcha.challenge``.
 
-        :raises ReCaptchaKeyError: If either the :ivar:`pubkey` or
-            :ivar:`privkey` are missing.
+        :raises CaptchaKeyError: If either the :ivar:`publicKey` or
+            :ivar:`secretKey` are missing.
         :raises HTTPError: If the server returned any HTTP error status code.
         """
         if not self.pubkey or not self.privkey:
-            raise ReCaptchaKeyError('You must supply recaptcha API keys')
+            raise CaptchaKeyError('You must supply recaptcha API keys')
 
         urlbase = API_SSL_SERVER
         form = "/noscript?k=%s" % self.pubkey
@@ -173,7 +170,7 @@ class GimpCaptcha(Captcha):
             images have been stored in. This can be set via the
             ``GIMP_CAPTCHA_DIR`` setting in the config file.
         :raises GimpCaptchaError: if **cacheDir** is not a directory.
-        :raises GimpCaptchaKeyError: if any of **secretKey**, **publicKey**,
+        :raises CaptchaKeyError: if any of **secretKey**, **publicKey**,
             or **hmacKey** is invalid, or missing.
         """
         super(GimpCaptcha, self).__init__()
@@ -182,7 +179,7 @@ class GimpCaptcha(Captcha):
             raise GimpCaptchaError("Gimp captcha cache isn't a directory: %r"
                                    % cacheDir)
         if not (publicKey and secretKey and hmacKey):
-            raise GimpCaptchaKeyError(
+            raise CaptchaKeyError(
                 "Invalid key supplied to GimpCaptcha: SK=%r PK=%r HMAC=%r"
                 % (secretKey, publicKey, hmacKey))
 
diff --git a/lib/bridgedb/test/test_captcha.py b/lib/bridgedb/test/test_captcha.py
index 7a6f2c4..a383545 100644
--- a/lib/bridgedb/test/test_captcha.py
+++ b/lib/bridgedb/test/test_captcha.py
@@ -88,7 +88,7 @@ class ReCaptchaTests(unittest.TestCase):
     def test_get_noKeys(self):
         """ReCaptcha.get() without API keys should fail."""
         c = captcha.ReCaptcha()
-        self.assertRaises(captcha.ReCaptchaKeyError, c.get)
+        self.assertRaises(captcha.CaptchaKeyError, c.get)
 
 
 class GimpCaptchaTests(unittest.TestCase):
@@ -106,23 +106,23 @@ class GimpCaptchaTests(unittest.TestCase):
 
     def test_init_noSecretKey(self):
         """Calling GimpCaptcha.__init__() without a secret key parameter should raise
-        a GimpCaptchaKeyError.
+        a CaptchaKeyError.
         """
-        self.assertRaises(captcha.GimpCaptchaKeyError, captcha.GimpCaptcha,
+        self.assertRaises(captcha.CaptchaKeyError, captcha.GimpCaptcha,
                           None, self.publik, self.hmacKey, self.cacheDir)
 
     def test_init_noPublicKey(self):
-        """__init__() without publicKey should raise a GimpCaptchaKeyError."""
-        self.assertRaises(captcha.GimpCaptchaKeyError, captcha.GimpCaptcha,
+        """__init__() without publicKey should raise a CaptchaKeyError."""
+        self.assertRaises(captcha.CaptchaKeyError, captcha.GimpCaptcha,
                           self.sekrit, None, self.hmacKey, self.cacheDir)
 
     def test_init_noHMACKey(self):
-        """__init__() without hmacKey should raise a GimpCaptchaKeyError."""
-        self.assertRaises(captcha.GimpCaptchaKeyError, captcha.GimpCaptcha,
+        """__init__() without hmacKey should raise a CaptchaKeyError."""
+        self.assertRaises(captcha.CaptchaKeyError, captcha.GimpCaptcha,
                           self.sekrit, self.publik, None, self.cacheDir)
 
     def test_init_noCacheDir(self):
-        """__init__() without cacheDir should raise a GimpCaptchaKeyError."""
+        """__init__() without cacheDir should raise a CaptchaKeyError."""
         self.assertRaises(captcha.GimpCaptchaError, captcha.GimpCaptcha,
                           self.sekrit, self.publik, self.hmacKey, None)
 





More information about the tor-commits mailing list