From 838eed9a92a4bf94e8c40bdad1fa9107ca64d35d Mon Sep 17 00:00:00 2001 From: Bigsk <1332540+bigskcode@user.noreply.gitee.com> Date: Sun, 26 Jul 2020 19:25:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20synchron?= =?UTF-8?q?ize/synchronize/part2.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- synchronize/synchronize/part2.py | 200 ------------------------------- 1 file changed, 200 deletions(-) delete mode 100644 synchronize/synchronize/part2.py diff --git a/synchronize/synchronize/part2.py b/synchronize/synchronize/part2.py deleted file mode 100644 index 371ef3a..0000000 --- a/synchronize/synchronize/part2.py +++ /dev/null @@ -1,200 +0,0 @@ -import requests -import os -import time -import json -import sys - -#------------------------------------------------------------------------# - -#Part Of Load All Kinds Of Global Variables From Json File. - -configopen=open(os.path.dirname(os.path.abspath(sys.argv[0])) + "/config.json", mode='r') -configjson=configopen.read() -configopen.close() -config=json.loads(configjson) -SystemName=config['systemname'] -SavePath=os.path.dirname(os.path.abspath(sys.argv[0])) + "/" + config['savepath'] -Version=config['version'] -UserAgent={'User-Agent':config['useragent']} -Log='[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Starting the synchronizing system.\n' + '------------------------------------------------------------------------\n' + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Starting to specify global variables.\n' + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Specifying global variables successful.\n' - -#------------------------------------------------------------------------# -Log=Log + '------------------------------------------------------------------------' + '\n' - -#The Part Of All Kinds Of Functions. - -Log=Log + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Starting to load all kinds of functions.' + '\n' -#Function Which Be Used To Save Logs. -def log(logvar): - global Log - Log=Log + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + logvar + '\n' -#Function Which Be Used To Synchronize Single File. -def download(url, filepath): - global Log - global UserAgent - log('[INFO]:The ' + SystemName + ' is synchronizing the file ' + SavePath + filepath + '.') - try: - download=requests.get(url, headers=UserAgent) - with open(SavePath + filepath,"wb") as code: - code.write(download.content) - except: - log('[ERROR]:There has a error in task of synchronizing the file ' + SavePath + filepath + '.') - else: - log('[INFO]:The file ' + SavePath + filepath + ' has been synchronized successfully.') -#Function Which Be Used To Make Sure The Dir Exists. -def make_sure_dir_exists(dirpath): - global Log - if os.path.exists(SavePath + dirpath): - log('[INFO]:The dir ' + SavePath + dirpath + ' has already existed.Nothing to do.') - else: - log('[INFO]:The dir ' + SavePath + dirpath + ' does not exist.The ' + SystemName + ' will create one.') - os.makedirs(SavePath + dirpath) -#Function Which Be Used To Both Synchronize Single File And Make Sure The Dir Exists. -def synchronize(url, filepath): - global Log - global UserAgent - dirpath= filepath[::-1].split('/', 1)[-1][::-1] - if os.path.exists(SavePath + dirpath): - log('[INFO]:The dir ' + SavePath + dirpath + ' has already existed.Nothing to do.') - else: - log('[INFO]:The dir ' + SavePath + dirpath + ' does not exist.The ' + SystemName + ' will create one.') - os.makedirs(SavePath + dirpath) - log('[INFO]:The ' + SystemName + ' is synchronizing the file ' + SavePath + filepath + '.') - try: - download=requests.get(url, headers=UserAgent) - with open(SavePath + filepath,"wb") as code: - code.write(download.content) - except: - log('[ERROR]:There has a error in task of synchronizing the file ' + SavePath + filepath + '.') - else: - log('[INFO]:The file ' + SavePath + filepath + ' has been synchronized successfully.') -log('[INFO]:Loading all kinds of functions successfully.') - -#------------------------------------------------------------------------# -Log=Log + '------------------------------------------------------------------------' + '\n' - -#Save JSON In Global Variables - -log('[INFO]:Starting to get the json of MC versions list.') -Log=Log + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Starting to get the json of MC versions list.' + '\n' -#Save MC Versions List Json In Global Variables -mcversionsjson=requests.get(url='http://launchermeta.mojang.com/mc/game/version_manifest.json', headers=UserAgent) -log('[INFO]:Get json of MC versions successfully.') -Log=Log + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Get json of MC versions successfully.' + '\n' - -#------------------------------------------------------------------------# -Log=Log + '------------------------------------------------------------------------' + '\n' - -#Synchronize Part. - -log('[INFO]:Starting to count how many MC versions in total.') -#Count How Many MC Versions in total. -mcversionsjsontext=mcversionsjson.text -mcversionsnumber=mcversionsjsontext.count('"url":') -log('[INFO]:There has ' + str(mcversionsnumber) + ' MC versions in total .') -log('[INFO]:Counting how many MC versions in total successfully.') - -#Auto Synchronize Files And Dirs on https://libraries.minecraft.net/. -log('[INFO]:Starting to synchronize files and dirs on https://libraries.minecraft.net/.') -#Part Of 'downloads'. -whiletimes=0#Set Var whiletimes To Avoid Error. -while(whiletimes < mcversionsnumber): - #Count While Times. - whiletimes=whiletimes + 1 - #Read Json Of MC Versions List. - downloadurlload=json.loads(mcversionsjsontext) - whiletimesload=whiletimes - 1 - onlineurl=downloadurlload['versions'][whiletimesload]['url'] - onlineurlwithouthttps=onlineurl.replace('https://', 'http://')#Avoid Https Connetion Errors - log('[INFO]:Starting to get the json of MC libraries ' + onlineurl +' list.') - #Save MC Libraries Json In Global Variables - try:#Avoid Http/Https Connection Errors Making Whole Synchronize Stop. - mclibrariesjson=requests.get(url=onlineurlwithouthttps, headers=UserAgent) - except: - log('[ERROR]:There has a error in task of getting json of MC libraries ' + onlineurl + '.') - else: - log('[INFO]:Get json of MC libraries ' + onlineurl + ' successfully.') - #Read Json Of MC Libraries. - mclibrariesload=json.loads(mclibrariesjson.text) - #Synchronize Files In "downloads". - log('[INFO]:Starting to synchronize files in ”downloads".') - try:#Avoid Http/Https Connection Errors Or Synchronize Module Download Failed Errors Making Whole Synchronize Stop. - onlineurl2=mclibrariesload['downloads']['client']['url'] - fileurl2='mojang/launcher/' + onlineurl2.replace('https://launcher.mojang.com/','') - synchronize(onlineurl2, fileurl2) - onlineurl2=mclibrariesload['downloads']['client_mappings']['url'] - fileurl2='mojang/launcher/' + onlineurl2.replace('https://launcher.mojang.com/','') - synchronize(onlineurl2, fileurl2) - onlineurl2=mclibrariesload['downloads']['server']['url'] - fileurl2='mojang/launcher/' + onlineurl2.replace('https://launcher.mojang.com/','') - synchronize(onlineurl2, fileurl2) - onlineurl2=mclibrariesload['downloads']['server_mappings']['url'] - fileurl2='mojang/launcher/' + onlineurl2.replace('https://launcher.mojang.com/','') - synchronize(onlineurl2, fileurl2) - #Synchronize Files In "loggin". - onlineurl2=mclibrariesload['loggin']['client']['file']['url'] - fileurl2='mojang/launcher/' + onlineurl2.replace('https://launcher.mojang.com/','') - synchronize(onlineurl2, fileurl2) - except: - log('[ERROR]:There has a error in task of synchronizing files in "downloads".') - else: - log('[INFO]:Synchronizing files in "downloads" successfully.') - log('[INFO]:Starting to count how many MC libraries files in ' + onlineurl + ' in total.') - #Count How Many MC Libraries Files in total. - mclibrariesjsontext=mclibrariesjson.text - mclibrariesnumber=mclibrariesjsontext.count('"url":') - 6 - log('[INFO]:There has ' + str(mclibrariesnumber) + ' MC libraries files in ' + onlineurl + ' in total.') - log('[INFO]:Counting how many MC libraries files in ' + onlineurl + ' in total successfully.') - whiletimes3=0#Set Var whiletimes To Avoid Error. - while(whiletimes3 < mclibrariesnumber): - #Count While Times. - whiletimes3=whiletimes3 + 1 - whiletimesload3=whiletimes3 - 1 - #Synchronize Files In "libraries". - log('[INFO]:Starting to synchronize Files In "libraries".') - try:#Avoid Http/Https Connection Errors Or Synchronize Module Download Failed Errors Making Whole Synchronize Stop. - #Synchronize Files In "libraries/.../downloads/artifact". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['artifact']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - #Synchronize Files In "libraries/.../downloads/classifiers/javadoc". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['classifiers']['javadoc']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - #Synchronize Files In "libraries/.../downloads/classifiers/natives-linux". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['classifiers']['natives-linux']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - #Synchronize Files In "libraries/.../downloads/classifiers/natives-macos". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['classifiers']['natives-macos']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - #Synchronize Files In "libraries/.../downloads/classifiers/natives-windows". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['classifiers']['natives-windows']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - #Synchronize Files In "libraries/.../downloads/artifact/classifiers/sources". - onlineurl3=mclibrariesload['libraries'][whiletimesload3]['downloads']['classifiers']['sources']['url'] - onlineurlwithouthttps3=onlineurl3.replace('https://', 'http://') - fileurl3='mojang/libraries/' + onlineurl3.replace('https://libraries.minecraft.net/','') - synchronize(onlineurlwithouthttps3, fileurl3) - except: - log('[ERROR]:There has a error in task of synchronizing files in ”libraries".') - else: - log('[INFO]:Synchronizing files in "libraries" successfully.') - -log('[INFO]:Synchronizing files and dirs on https://libraries.minecraft.net/ successfully.') - -#------------------------------------------------------------------------# -Log=Log + '------------------------------------------------------------------------' + '\n' - -#Starting To Save Logs. -log('[INFO]:Starting to save logs.') -logwrite=open(os.path.dirname(os.path.abspath(sys.argv[0])) + '/' + config['logspath'] + 'part1-' + str(time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) + '.txt'),mode='w') -logwrite.write(Log + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:Save logs successfully.' + '\n' + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']' + '[INFO]:All tasks of synchronizing have done successfully.') -logwrite.close()