* Improved error reporting
[gc-dialer] / gc_dialer / gcbackend.py
index 59c08f0..e84e7d2 100644 (file)
@@ -120,6 +120,7 @@ class GCDialer(object):
                3) anything with computer in the name
                4) the first value
                """
+               print "setSaneCallback"
                numbers = self.getCallbackNumbers()
 
                for number, description in numbers.iteritems():
@@ -146,6 +147,7 @@ class GCDialer(object):
                @returns a dictionary mapping call back numbers to descriptions. These results
                are cached for 30 minutes.
                """
+               print "getCallbackNumbers"
                if time.time() - self._lastAuthed < 1800 or self.isAuthed():
                        return self._callbackNumbers
 
@@ -156,6 +158,7 @@ class GCDialer(object):
                set the number that grandcental calls
                this should be a proper 10 digit number
                """
+               print "setCallbackNumber %s" % (callbacknumber)
                try:
                        callbackPostData = urllib.urlencode({'a_t' : self._accessToken, 'default_number' : callbacknumber })
                        self._lastData = self._browser.download(GCDialer._setforwardURL, callbackPostData)
@@ -170,6 +173,7 @@ class GCDialer(object):
                return None
 
        def reset(self):
+               self._lastAuthed = 0.0
                self._browser.cookies.clear()
                self._browser.cookies.save()
 
@@ -183,12 +187,15 @@ class GCDialer(object):
                """
                This is the main function responsible for initating the callback
                """
+               self._msg = ""
+
                # If the number is not valid throw exception
                if self.validate(number) is False:
                        raise ValueError('number is not valid')
 
                # No point if we don't have the magic cookie
                if not self.isAuthed():
+                       self._msg = "Not authenticated"
                        return False
 
                # Strip leading 1 from 11 digit dialing
@@ -203,9 +210,12 @@ class GCDialer(object):
                        if GCDialer._gcDialingStrRe.search(self._lastData) is not None:
                                return True
                        else:
+                               self._msg = "Grand Central returned an error"
                                return False
                except:
                        pass
+       
+               self._msg = "Unknown Error"
                return False
 
        def get_recent(self):