From 7f23d68370e41aa2ab99aa791a757edb2432f779 Mon Sep 17 00:00:00 2001 From: Dima YaFlay <93622229+YaFlay@users.noreply.github.com> Date: Mon, 3 Jan 2022 01:44:06 +0300 Subject: [PATCH] 1.0.1 fixing some bugs and optimizing code --- commands.py | 215 ++++++++++++---------------------------------------- 1 file changed, 49 insertions(+), 166 deletions(-) diff --git a/commands.py b/commands.py index 6dadd15..e062184 100644 --- a/commands.py +++ b/commands.py @@ -1,35 +1,33 @@ -import os, shutil, datetime, psutil, time from tkinter import messagebox -import urllib.request as urlreq -from platform import architecture +from os import chdir, mkdir, remove, system, startfile, path, listdir, popen +from shutil import rmtree +from datetime import datetime, date +from urllib.request import urlopen, urlretrieve -def time_user_def(): - date = datetime.date.today() - clock = datetime.datetime.today() - time_user = 'Date today: '+ str(date)+ ', time now '+str( clock.strftime('%H.%M.%S')) - return time_user -# take time, date and directory -print(str(time_user_def())) -print('Starting to create a server!') -# User time def internet_button(): - print('Internet checking!') try: - urlreq.urlopen("http://github.com") - print('Internet connected!') + urlopen("http://github.com") return True except IOError: - print("Internet is broken!") messagebox.showerror(title='Internet', message='Internet don`t connected, function download core, java, python and backup don`t working.') return False -internet = internet_button() + +def time_user_def(): + datetimed = date.today() + clock = datetime.today() + time_user = 'Date today: '+ str(datetimed)+ ', time now '+str( clock.strftime('%H.%M.%S')) + # take time, date and directory + print(str(time_user)) + print('Starting to create a server!') +# User time +time_user_def() def create_command(): - check_file = os.path.isdir('C:/minecraft') + check_file = path.isdir('C:/minecraft') if check_file == False: - os.mkdir("C:/minecraft") - os.chdir('C:\minecraft') + mkdir("C:/minecraft") + chdir('C:\minecraft') else: - os.chdir('C:/minecraft') + chdir('C:/minecraft') print('EULA text create...') # downloading server files in folder eula = open('eula.txt', 'w+') @@ -51,187 +49,72 @@ java -Xmx1024M -Xms1024M -jar server.jar nogui bat.close() # crate bat file and downloading jar core print('Created .bat file!') - # creating EULA text, and write in eula.txt - # this is 4rd checkbox - messagebox.showinfo('EULA', 'EULA and folders create! Press OK for leave') + messagebox.showinfo('EULA', 'eula, bat and folser created! Press OK for leave') def starting_server_button(): - os.chdir('C:/minecraft') + chdir('C:/minecraft') print('Downloading core...') url = 'https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar' - urlreq.urlretrieve(url, 'C:/minecraft/server.jar') + urlretrieve(url, 'C:/minecraft/server.jar') print('Core downloaded!') - messagebox.showinfo('bat file created', '.bat file and core created Press OK for leave') - + messagebox.showinfo('core downloaded', 'core created Press OK for leave') # first checkbox command + def server_properties_button(): if internet_button(): - os.chdir('C:/minecraft') + chdir('C:/minecraft') url_server_properties = 'https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/server_properties.py' - urlreq.urlretrieve(url_server_properties, 'C:/minecraft/server_properties.py') - os.system('python3 C:/minecraft/server_properties.py') + urlretrieve(url_server_properties, 'C:/minecraft/server_properties.py') + system('python3 C:/minecraft/server_properties.py') print('Creating server.properties') messagebox.showinfo('server.properties created', 'Minecraft server.properties created Press OK for leave') - os.remove('C:/minecraft/server_properties.py') + remove('C:/minecraft/server_properties.py') return True else: messagebox.showerror(title='Internet', message='Internet don`t connected') # second checkbox command + def close_command_button(): - os.remove(str(__file__)) - os.remove('index.py') - os.remove('windows.py') + remove(str(__file__)) + remove('index.py') + remove('windows.py') + remove('installer.py') messagebox.showinfo('file deleted', 'minecraft.exe closed and deleted! Press OK for leave') # deleting main file - def start(): - os.chdir('C:/minecraft') - os.system('start mine.bat') - messagebox.showinfo('Server_start', 'Server started!! Press OK for leave') + chdir('C:/minecraft') + system('start mine.bat') + messagebox.showinfo('Server_start', 'Server started! Press OK for leave') # starting server def folder(): - os.startfile('C:/minecraft') + startfile('C:/minecraft') # start folder -def java_windows(): - if internet_button(): - if architecture() == '32bit': - java='https://bit.ly/java32python' - urlreq.urlretrieve(java, 'C:/minecraft/jre-8u311-windows-i586-iftw.exe') - print('Core downloaded') - print('Openning...') - os.chdir('C:/minecraft/') - os.startfile(r'C:/minecraft/jre-8u311-windows-i586-iftw.exe') - def process_name_32(): - for proce in psutil.process_iter(): - name = proce.name() - if name == 'jre-8u311-windows-i586-iftw.exe': - return True - while process_name_32(): - time.sleep(5) - print('Java downloaded') - if os.path.isfile('C:/minecraft/jre-8u311-windows-i586-iftw.exe'): - os.remove('jre-8u311-windows-i586-iftw.exe') - print('Java installer deleted') - pass - messagebox.showinfo('Java_32', 'Java has been downloaded! Press ok for leave') - elif architecture() == '64bit': - java_64='https://bit.ly/java64python' - urlreq.urlretrieve(java_64, 'C:/minecraft/jre-8u311-windows-x64.exe') - print('Core downloaded') - print('Openning...') - os.chdir('C:/minecraft/') - os.startfile(r'C:/minecraft/jre-8u311-windows-x64.exe') - def process_name_64(): - for proce in psutil.process_iter(): - name = proce.name() - if name == 'jre-8u311-windows-x64.exe': - return True - while process_name_64(): - time.sleep(5) - print('Java downloaded') - if os.path.isfile('C:/minecraft/jre-8u311-windows-x64.exe'): - os.remove('jre-8u311-windows-x64.exe') - print('Java installer deleted') - pass - pass - messagebox.showinfo('Java_64','Java has been downloaded! Press ok for leave') - else: - messagebox.showerror(title='Internet', message='Internet don`t connected') - -# for downloading java 8u311 for windows - def delete_directory(): - if os.path.isdir('C:/minecraft'): - os.chdir('C:/minecraft') - if os.path.isfile('eula.txt'): - os.remove('eula.txt') - print('EULA deleted') - # deleting eula - if os.path.isfile('mine.bat'): - os.remove('mine.bat') - print('mine.bat deleted') - # deleting .bat file - if os.path.isfile('server.jar'): - os.remove('server.jar') - print('server.jar deleted') - # deleting core - if os.path.isfile('server.properties'): - os.remove('server.properties') - print('server.properties deleted') - # deleting server.properties - if os.path.isfile('banned-ips.json'): - os.remove('banned-ips.json') - print('banned-ips.json deleted') - # deleting banned-ips.json - if os.path.isfile('banned-players.json'): - os.remove('banned-players.json') - print('banned-players.json deleted') - # deleting banned-players.json - if os.path.isfile('ops.json'): - os.remove('ops.json') - print('ops.json deleted') - # deleting ops.json - if os.path.isfile('usercache.json'): - os.remove('usercache.json') - print('usercashe.json deleted') - # deleting ops.json - if os.path.isfile('whitelist.json'): - os.remove('whitelist.json') - print('whitelist deleted') - # deleting whitelist.json - # deleting all files in C:/minecraft - directory_file = os.listdir() - print(directory_file) - if directory_file == ['logs', 'world', 'backup']: - os.chdir('C:/') - shutil.rmtree('C:/minecraft') - else: - os.chdir('C:/') - shutil.rmtree('C:/minecraft') + if path.isdir('C:/minecraft'): + chdir('C:/') + rmtree('C:/minecraft') # delete directory with files else: print('Folder already deleted') def backup_button(): if internet_button(): - if os.path.isdir('C:/minecraft/backup/'): - os.chdir('C:/minecraft/backup') + if path.isdir('C:/minecraft/backup/'): + chdir('C:/minecraft/backup') else: - os.mkdir('C:/minecraft/backup') - os.chdir('C:/minecraft/backup') + mkdir('C:/minecraft/backup') + chdir('C:/minecraft/backup') # create folder url_backup_text='https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/backup.py' - if os.path.isfile('C:/minecraft/backup/backup.py'): - os.remove('C:/minecraft/backup/backup.py') - urlreq.urlretrieve(url_backup_text, 'C:/minecraft/backup/backup.py') - os.chdir('C:/minecraft/backup/') - os.popen('python3 C:/minecraft/backup/backup.py') + if path.isfile('C:/minecraft/backup/backup.py'): + remove('C:/minecraft/backup/backup.py') + urlretrieve(url_backup_text, 'C:/minecraft/backup/backup.py') + chdir('C:/minecraft/backup/') + popen('python3 C:/minecraft/backup/backup.py') # backuping minecraft files using python code from my github else: messagebox.showerror(title='Internet', message='Internet don`t connected') -def python_install(): - if internet_button(): - url = 'https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe' - urlreq.urlretrieve(url, 'C:/minecraft/python-3.10.0-amd64.exe') - os.chdir('C:/minecraft/') - os.startfile(r'C:/minecraft/python-3.10.0-amd64.exe') - for process_python in psutil.process_iter(): - name_python = process_python.name() - if name_python == 'python-3.10.0-amd64.exe': - print('Wait...') - time.sleep(30) - print('And 10 sec more') - time.sleep(10) - named_64 = process_python.name() - if not named_64 == 'python-3.10.0-amd64.exe': - process_python.kill() - print('Process has been eliminated!') - pass - pass - os.remove('python-3.10.0-amd64.exe') - messagebox.showinfo('Python','Python has been downloaded! Press ok for leave') - else: messagebox.showerror(title='Internet', message='Internet don`t connected') # download python # take def for checkboxes and buttons