diff --git a/src/launcher/updater.py b/src/launcher/updater.py deleted file mode 100644 index 21f1816..0000000 --- a/src/launcher/updater.py +++ /dev/null @@ -1,154 +0,0 @@ -""" -******************************************************************************** -* CNIRevelator * -* * -* Desc: Application launcher updating system * -* * -* Copyright © 2018-2019 Adrien Bourmault (neox95) * -* * -* This file is part of CNIRevelator. * -* * -* CNIRevelator is free software: you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation, either version 3 of the License, or * -* any later version. * -* * -* CNIRevelator is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY*without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* You should have received a copy of the GNU General Public License * -* along with CNIRevelator. If not, see . * -******************************************************************************** -""" - -from win32com.client import Dispatch -import traceback -import sys -import time - -import logger # logger.py -import globs # globs.py -import ihm # ihm.py -import downloader # downloader.py - -def createShortcut(path, target='', wDir='', icon=''): - ext = path[-3:] - if ext == 'url': - shortcut = file(path, 'w') - shortcut.write('[InternetShortcut]\n') - shortcut.write('URL=%s' % target) - shortcut.close() - else: - shell = Dispatch('WScript.Shell') - shortcut = shell.CreateShortCut(path) - shortcut.Targetpath = target - shortcut.WorkingDirectory = wDir - if icon == '': - pass - else: - shortcut.IconLocation = icon - shortcut.save() - -## Main Batch Function -def batch(): - - # Global Handlers - logfile = logger.logCur - launcherWindow = ihm.launcherWindowCur - - credentials = downloader.newcredentials() - - if not credentials.valid: - return False - - # First retrieving the urls ! - while True: - try: - # Open the config file - logfile.printdbg('Reading urlconf.ig') - with open(globs.CNIRFolder + '\\urlconf.ig', 'r') as (configFile): - try: - # Reading it - reading = configFile.read() - # Parsing it - urlparsed = reading.split("\n") - break - - except Exception as e: - raise IOError(str(e)) - - except FileNotFoundError: - logfile.printdbg('Recreate urlconf.ig') - # Recreating the url file - with open(globs.CNIRFolder + '\\urlconf.ig', 'w') as (configFile): - configFile.write("https://raw.githubusercontent.com/neox95/CNIRevelator/master/VERSIONS.LST\n0\n0") #XXX - - # Getting the list of versions of the software - logfile.printdbg('Retrieving the software versions') - getTheVersions = downloader.newdownload(credentials, urlparsed[0], globs.CNIRFolder + '\\versions.lst').download() - - logfile.printdbg('Parsing the software versions') - with open(globs.CNIRFolder + '\\versions.lst') as versionsFile: - versionsTab = versionsFile.read().split("\n")[1].split("||") - logfile.printdbg('Versions retrieved : {}'.format(versionsTab)) - # Choose the newer - finalver = globs.version.copy() - for entry in versionsTab: - verstr, url, checksum = entry.split("|") - # Calculating sum considering we can have 99 sub versions - ver = verstr.split(".") - ver = [int(i) for i in ver] - finalsum = finalver[2] + finalver[1]*100 + finalver[0]*100*100 - sum = ver[2] + ver[1]*100 + ver[0]*100*100 - # Make a statement - if sum > finalsum: - finalver = ver.copy() - finalurl = url - - if finalver == globs.version: - logfile.printdbg('The software is already the newer version') - return True - - logfile.printdbg('Preparing download for the new version') - - getTheUpdate = downloader.newdownload(credentials, finalurl, globs.CNIRFolder + '\\..\\CNIPackage.zip').download() - - return True - -## Main Function -def umain(): - try: - # Global Handlers - logfile = logger.logCur - launcherWindow = ihm.launcherWindowCur - - try: - # EXECUTING THE UPDATE BATCH - success = batch() - except Exception as e: - logfile.printerr("An error occured on the thread : " + str(traceback.format_exc())) - launcherWindow.mainCanvas.itemconfigure(launcherWindow.msg, text=('ERROR : ' + str(e))) - time.sleep(3) - launcherWindow.destroy() - return 1 - - if success: - logfile.printdbg("Software is up-to-date !") - launcherWindow.mainCanvas.itemconfigure(launcherWindow.msg, text='Software is up-to-date !') - else: - logfile.printerr("An error occured. No effective update !") - launcherWindow.mainCanvas.itemconfigure(launcherWindow.msg, text='An error occured. No effective update !') - time.sleep(2) - launcherWindow.destroy() - return 0 - - except: - logfile.printerr("A FATAL ERROR OCCURED : " + str(traceback.format_exc())) - launcherWindow.destroy() - sys.exit(2) - return 2 - - return -