def signInIfNecessary(parent=None): """Sign into SRS Collector, and return the API key.""" apiKey = Preferences.apiKey() if not apiKey: dialog = SignInDialog() dialog.exec_() apiKey = dialog.apiKey if apiKey: Preferences.setApiKey(apiKey) return apiKey
def importCards(): """Import cards from the server.""" apiKey = SignInDialog.signInIfNecessary() if apiKey: try: Importer().run(apiKey) except UpgradeRequiredException: showInfo("Please upgrade your copy of the SRS Collector addon.") except urllib2.HTTPError as e: if e.code == 401: Preferences.setApiKey(None) showInfo("Sign in expired. Please try again.") else: showInfo("Unknown network error.") except urllib2.URLError: # Generally a DNS error. showInfo("Network error. Are you online?")