Package conduit :: Package platform :: Module WebBrowserSystem
[hide private]

Source Code for Module conduit.platform.WebBrowserSystem

 1  import time 
 2  import webbrowser 
 3  import logging 
 4  log = logging.getLogger("WebBrowser") 
 5   
 6  import conduit.platform 
 7   
8 -class WebBrowserImpl(conduit.platform.WebBrowser):
9 - def __init__(self, **kwargs):
11
12 - def wait_for_login(self, name, url, **kwargs):
13 self.testFunc = kwargs.get("login_function",None) 14 self.timeout = kwargs.get("timeout",30) 15 16 #use the system web browerser to open the url 17 log.debug("System Login for %s" % name) 18 webbrowser.open(url,new=1,autoraise=True) 19 20 start_time = time.time() 21 while not self._is_timed_out(start_time): 22 time.sleep(kwargs.get("sleep_time",2)) 23 try: 24 if self.testFunc(): 25 return 26 except Exception, e: 27 log.debug("Login function threw an error: %s" % e) 28 29 raise Exception("Login timed out")
30
31 - def _is_timed_out(self, start):
32 return int(time.time() - start) > self.timeout
33