1 import time
2 import webbrowser
3 import logging
4 log = logging.getLogger("WebBrowser")
5
6 import conduit.platform
7
11
13 self.testFunc = kwargs.get("login_function",None)
14 self.timeout = kwargs.get("timeout",30)
15
16
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
32 return int(time.time() - start) > self.timeout
33