diff --git a/src/application.py b/src/application.py index 98ec8daf..6d3dd8ad 100644 --- a/src/application.py +++ b/src/application.py @@ -4,9 +4,11 @@ snapshot = True if snapshot == False: version = "0.80" update_url = 'http://twblue.es/updates/twblue_ngen.json' + mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json' else: version = "10.99" update_url = 'http://twblue.es/updates/snapshots_ngen.json' + mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/snapshots.json' author = u"Manuel Cortéz" authorEmail = "manuel@manuelcortez.net" copyright = u"Copyright (C) 2015, Technow S.L. \nCopyright (C) 2013-2015, Manuel cortéz." diff --git a/src/update/updater.py b/src/update/updater.py index 28760e5a..fb5b4fcf 100644 --- a/src/update/updater.py +++ b/src/update/updater.py @@ -2,14 +2,19 @@ import application import update import platform -from wxUpdater import * import logging import output +from requests.exceptions import ConnectionError +from wxUpdater import * logger = logging.getLogger("updater") -def do_update(): -# try: - return update.perform_update(endpoint=application.update_url, current_version=application.version, app_name=application.name, update_available_callback=available_update_dialog, progress_callback=progress_callback, update_complete_callback=update_finished) -# except: -# logger.exception("Update failed.") -# output.speak("An exception occurred while attempting to update " + application.name + ". If this message persists, contact the " + application.name + " developers. More information about the exception has been written to the error log.",True) \ No newline at end of file +def do_update(endpoint=application.update_url): + try: + update.perform_update(endpoint=endpoint, current_version=application.version, app_name=application.name, update_available_callback=available_update_dialog, progress_callback=progress_callback, update_complete_callback=update_finished) + except ConnectionError: + if endpoint == application.update_url: + logger.error("Update failed! Using mirror URL...") + return do_update(endpoint=application.mirror_update_url) + else: + logger.exception("Update failed.") + output.speak("An exception occurred while attempting to update " + application.name + ". If this message persists, contact the " + application.name + " developers. More information about the exception has been written to the error log.",True) \ No newline at end of file