-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
210 additions
and
141 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
from worker import worker, verpicker, finish | ||
import os | ||
import time | ||
from filerpy import version_define, dirdefine | ||
from preparator import preparator | ||
from preparator import error | ||
programdir = dirdefine("settings.txt", "prog") | ||
minedir = dirdefine("settings.txt", "mine") | ||
|
||
def run(version): | ||
progver = version_define(version) | ||
if preparator("init") == "stopnow": | ||
finish("normal") | ||
else: | ||
pass | ||
while True: | ||
try: | ||
os.chdir(f"{programdir}/mods") | ||
vers = [e for e in os.listdir() if os.path.isdir(e)] | ||
worker(verpicker(progver, vers)) | ||
break | ||
except IndexError: | ||
print("неверное значение\nперезапуск") | ||
error() | ||
except OverflowError: | ||
print("многацифер\nперезапуск") | ||
error() | ||
except ValueError: | ||
print("что ты несешь\nперезапуск") | ||
error() | ||
except SyntaxError: | ||
print("Что-то пошло не так!") | ||
except FileNotFoundError: | ||
if preparator("error") == "stopnow": | ||
break | ||
else: | ||
os.system("cls") | ||
continue | ||
except Exception: | ||
print("неизвестная ошибка") | ||
time.sleep(3) | ||
break |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,21 @@ | ||
import os | ||
|
||
|
||
def dirdefine(file, type): | ||
if type == "mine": | ||
minedir1 = open(file, "r") | ||
minedir = minedir1.readlines() | ||
minedir1.close() | ||
ok = minedir.pop(0).split("\n") | ||
ok = ok.pop(0).split("\n") | ||
ok = ok.pop(0) | ||
return ok | ||
result = minedir.pop(0).split("\n") | ||
result = result.pop(0).split("\n") | ||
result = result.pop(0) | ||
return result | ||
if type == "prog": | ||
programdir1 = open(file, "r") | ||
programdir = programdir1.readlines() | ||
programdir1.close() | ||
ok2 = programdir.pop(1).split("/n") | ||
ok2 = ok2.pop(0).split("\n") | ||
ok2 = ok2.pop(0) | ||
return ok2 | ||
result2 = os.getcwd() | ||
return result2 | ||
def version_define(version): | ||
version = str(version) | ||
unknown = "unknown" | ||
if version == "" or version == " ": | ||
return unknown | ||
else: | ||
return version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,9 @@ | ||
import os | ||
import shutil | ||
from pathlib import Path | ||
import time | ||
from filerpy import dirdefine | ||
programdir = str(dirdefine("settings.txt", "prog")) | ||
minedir = str(dirdefine("settings.txt", "mine")) | ||
os.chdir(f"{programdir}/mods") | ||
vers = [e for e in os.listdir() if os.path.isdir(e)] | ||
from exceptor import run | ||
|
||
|
||
def finish(): | ||
print("окно закроется через 3 секунды") | ||
time.sleep(3) | ||
while True: | ||
break | ||
def main(): | ||
print("Привет!") | ||
versamount = len(vers) | ||
for i, item in enumerate(vers): | ||
print(i + 1, "> ", item) | ||
print("Чтобы восстановить бэкап напишите restore") | ||
selector = str(input("Выберите версию: ")) | ||
if selector == "restore": | ||
os.chdir(minedir) | ||
shutil.rmtree(f"{minedir}/mods") | ||
os.chdir(programdir) | ||
shutil.copytree(f"{programdir}/backup", f"{minedir}/pySelector/") | ||
os.chdir(minedir) | ||
p = Path(f"{minedir}/pySelector/") | ||
p.rename("mods") | ||
print("Бэкап восстановлен") | ||
return "restok" | ||
else: | ||
selector = int(selector) | ||
a = vers.pop(selector - 1) | ||
print("Выбрана версия " + a) | ||
return a | ||
program_version = 2.3 | ||
|
||
|
||
def worker(version): | ||
if version == "restok": | ||
finish() | ||
else: | ||
print("работаю..") | ||
os.chdir(minedir) | ||
shutil.rmtree(f"{programdir}/backup") | ||
shutil.copytree(f"{minedir}/mods", f"{programdir}/backup") | ||
shutil.rmtree(f"{minedir}/mods") | ||
os.chdir(f"{programdir}/mods/") | ||
shutil.copytree(f"{programdir}/mods/{version}", f"{minedir}/pySelector") | ||
os.chdir(minedir) | ||
p = Path(f"{minedir}/pySelector/") | ||
p.rename("mods") | ||
print("готово") | ||
finish() | ||
run(program_version) | ||
|
||
|
||
|
||
worker(main()) | ||
#please, check settings.txt before panic about program is not working |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
import os | ||
import time | ||
from filerpy import dirdefine | ||
programdir = dirdefine("settings.txt", "prog") | ||
minedir = dirdefine("settings.txt", "mine") | ||
|
||
def error(): | ||
time.sleep(2) | ||
os.system("cls") | ||
|
||
def preparator(type_of_work): | ||
os.chdir(programdir) | ||
if type_of_work == "error": | ||
if not os.path.exists(f"{programdir}/backup"): | ||
print("Нету папки backup:-(") | ||
os.mkdir(f"{os.getcwd()}/backup") | ||
time.sleep(2) | ||
print("Папка создана, повторите попытку") | ||
error() | ||
try: | ||
if not os.path.exists(f"{minedir}/mods"): | ||
print("Нету папки mods в директории игры:-(") | ||
os.chdir(minedir) | ||
os.mkdir("mods") | ||
print("Папка создана, повторите попытку") | ||
error() | ||
except FileNotFoundError: | ||
print("Не удалось создать папку!\nПроверьте settings.txt") | ||
time.sleep(2) | ||
return "stopnow" | ||
if not os.path.exists(f"{programdir}/mods"): | ||
print("Отсутствует хранилище модпаков:-(") | ||
os.chdir(programdir) | ||
os.mkdir(f"{os.getcwd()}/mods") | ||
readme = open(f"{os.getcwd()}/mods/readME PLS.txt", "w") | ||
readme.write("put your modpacks in this folder") | ||
readme.close() | ||
print("В корне программы создана папка mods, поместите туда свои модпаки") | ||
time.sleep(2) | ||
error() | ||
else: | ||
print("Какой-то файл/папка не найден.\nПроверьте settings.txt") | ||
time.sleep(2) | ||
return "stopnow" | ||
if type_of_work == "init": | ||
if not os.path.exists(f"{programdir}/backup"): | ||
print("Нету папки backup:-(") | ||
os.mkdir(f"{os.getcwd()}/backup") | ||
time.sleep(2) | ||
print("Папка создана, повторите попытку") | ||
error() | ||
try: | ||
if not os.path.exists(f"{minedir}/mods"): | ||
print("Нету папки mods в директории игры:-(") | ||
os.chdir(minedir) | ||
os.mkdir("mods") | ||
print("Папка создана, повторите попытку") | ||
error() | ||
except FileNotFoundError: | ||
print("Не удалось создать папку!\nПроверьте settings.txt") | ||
time.sleep(2) | ||
return "stopnow" | ||
if not os.path.exists(f"{programdir}/mods"): | ||
print("Отсутствует хранилище модпаков:-(") | ||
os.chdir(programdir) | ||
os.mkdir(f"{os.getcwd()}/mods") | ||
readme = open(f"{os.getcwd()}/mods/readME PLS.txt", "w") | ||
readme.write("put your modpacks in this folder") | ||
readme.close() | ||
print("В корне программы создана папка mods, поместите туда свои модпаки") | ||
time.sleep(2) | ||
error() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
E:/minecraft/game | ||
E:/pySelector | ||
// first line is path to pySelector.exe (not including / and "pySelector.exe" | ||
// second line is minecraft home dir (there you can find "config", "versions", "mods" and other folder | ||
minecraft directory !!DO NOT use quotes!! | ||
// FIRST line is minecraft home dir (there you can find "config", "versions", "mods" and other folders) | ||
// PLS FILL FIRST LINE!!!!! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
import os | ||
import shutil | ||
import time | ||
from pathlib import Path | ||
from filerpy import dirdefine | ||
programdir = str(dirdefine("settings.txt", "prog")) | ||
minedir = str(dirdefine("settings.txt", "mine")) | ||
|
||
|
||
|
||
def finish(type): | ||
if type == "error": | ||
print("Использовать число 0 нельзя!") | ||
print("окно закроется через 3 секунды") | ||
time.sleep(3) | ||
while True: | ||
break | ||
if type == "normal": | ||
print("окно закроется через 3 секунды") | ||
time.sleep(3) | ||
while True: | ||
break | ||
|
||
def verpicker(progver, vers): | ||
print("Привет!") | ||
print("Версия программы: " + progver) | ||
print("Список модпаков: ") | ||
counter = 1 | ||
divider = ". " | ||
for ver in vers: | ||
print(str(counter) + str(divider) + str(ver)) | ||
counter += 1 | ||
print("Чтобы восстановить бэкап напишите restore") | ||
selector = str(input("Выберите версию: ")) | ||
if selector == "restore": | ||
os.chdir(minedir) | ||
shutil.rmtree(f"{minedir}/mods") | ||
os.chdir(programdir) | ||
shutil.copytree(f"{programdir}/backup", f"{minedir}/pySelector/") | ||
os.chdir(minedir) | ||
p = Path(f"{minedir}/pySelector/") | ||
p.rename("mods") | ||
print("Бэкап восстановлен") | ||
return "restok" | ||
elif selector == "q" or selector == "quit": | ||
return "stop_soft" | ||
else: | ||
selector = int(selector) | ||
if selector == 0: | ||
return "stop" | ||
else: | ||
a = vers.pop(selector - 1) | ||
print("Выбрана версия " + a) | ||
return a | ||
|
||
def worker(version): | ||
if version == "restok": | ||
finish("normal") | ||
elif version == "stop": | ||
finish("error") | ||
elif version == "stop_soft": | ||
finish("normal") | ||
else: | ||
print("работаю..") | ||
os.chdir(minedir) | ||
shutil.rmtree(f"{programdir}/backup") | ||
shutil.copytree(f"{minedir}/mods", f"{programdir}/backup") | ||
shutil.rmtree(f"{minedir}/mods") | ||
os.chdir(f"{programdir}/mods/") | ||
shutil.copytree(f"{programdir}/mods/{version}", f"{minedir}/pySelector") | ||
os.chdir(minedir) | ||
p = Path(f"{minedir}/pySelector/") | ||
p.rename("mods") | ||
print("готово") | ||
finish("normal") |