use of idle_add doesn't work if there is a dialog, causes it to hang
authorbrontide <ericew@gmail.com>
Sun, 29 Jun 2008 20:56:27 +0000 (20:56 +0000)
committerbrontide <ericew@gmail.com>
Sun, 29 Jun 2008 20:56:27 +0000 (20:56 +0000)
git-svn-id: file:///svnroot/gc-dialer/trunk@33 c39d3808-3fe2-4d86-a59f-b7f623ee9f21

gc_dialer/gc_dialer.py
gc_dialer/gcbackend.py

index b42f2c1..955dab4 100755 (executable)
@@ -90,7 +90,7 @@ def makepretty(phonenumber):
                return prettynumber
        elif len(phonenumber) <= 7:
                prettynumber = "%s-%s" % (phonenumber[0:3], phonenumber[3:])
-       elif len(phonenumber) > 8 and phonenumber[0] == 1:
+       elif len(phonenumber) > 8 and phonenumber[0] == "1":
                prettynumber = "1 (%s)-%s-%s" %(phonenumber[1:4], phonenumber[4:7], phonenumber[7:]) 
        elif len(phonenumber) > 7:
                prettynumber = "(%s)-%s-%s" % (phonenumber[0:3], phonenumber[3:6], phonenumber[6:])
@@ -163,7 +163,8 @@ class Dialpad(object):
                # Defer initalization of recent view
                self.gcd = GCDialer()
 
-               gobject.idle_add(self.init_grandcentral)
+               #gobject.idle_add(self.init_grandcentral)
+               self.init_grandcentral()
                gobject.idle_add(self.init_recentview)
 
                #self.reduce_memory()
@@ -176,10 +177,11 @@ class Dialpad(object):
                        if self.gcd.isAuthed():
                                if self.gcd.getCallbackNumber() is None:
                                        self.gcd.setSaneCallback()
-                               self.setAccountNumber()
                except:
-                       self.setAccountNumber()
-
+                       pass
+               
+               self.setAccountNumber()
+               print "exit init_gc"
                return False
 
        def init_recentview(self):
@@ -200,9 +202,6 @@ class Dialpad(object):
 
                return False
 
-#              re.purge()
-#              #print "collect %d objects" % ( num )
-
        def on_recentview_row_activated(self, treeview, path, view_column):
                model, itr = self.recentviewselection.get_selected()
                if not itr:
@@ -233,7 +232,7 @@ class Dialpad(object):
                self.recenttime = 0.0
        
                # re-run the inital grandcentral setup
-               gobject.idle_add(self.init_grandcentral)
+               self.init_grandcentral()
 
        def setupCallbackCombo(self):
                combobox = self.wTree.get_object("callbackcombo")
@@ -274,10 +273,12 @@ class Dialpad(object):
                                self.wTree.get_object("passwordentry").set_text("")
                        print "Attempting login"
                        self.gcd.login(username, password)
+                       print "hiding dialog"
                        dialog.hide()
-                       times -= 1
+                       times = times - 1
 
                if self.isHildon:
+                       print "destroy dialog"
                        dialog.destroy()
 
                return False
index 59c08f0..85b8fe4 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()