diff options
| author | Debulois Quentin <quentin.debulois@gmail.com> | 2020-09-18 08:20:42 +0200 |
|---|---|---|
| committer | Debulois Quentin <quentin.debulois@gmail.com> | 2020-09-18 08:20:42 +0200 |
| commit | 1f04346cae63d14e47c2c4dfe6721b28a1e45211 (patch) | |
| tree | 7da1cf4a1cab01882bfc8497c3f929b35b3d81b9 | |
| parent | 738685e0ff2686e9be969ff29019663c6981d984 (diff) | |
POO en cour ui pour ce commmit
| -rw-r--r-- | Redim/config.py | 24 | ||||
| -rw-r--r-- | Redim/convertisseur.py | 3 | ||||
| -rw-r--r-- | Redim/main.py | 101 | ||||
| -rw-r--r-- | Redim/ui.py | 36 |
4 files changed, 83 insertions, 81 deletions
diff --git a/Redim/config.py b/Redim/config.py index 9f3af98..4bfa31a 100644 --- a/Redim/config.py +++ b/Redim/config.py @@ -1,26 +1,16 @@ import json -from os.path import isdir, mkdir, join +from os import mkdir +from os.path import isdir, join class Config(): - def sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final): - dictionnaire = { - "dimensions": [[largeur1, hauteur1], [largeur2, hauteur2]], - "background_color": background_color, - "format_final": format_final - } + def sauvegarde(self, json_path, configuration): if not isdir(json_path): mkdir(json_path) with open(join(json_path, "config_redim"), "w") as f: - json.dump(dictionnaire, f) + json.dump(configuration, f) - def lecture(json_path): + def lecture(self, json_path): with open(join(json_path, "config_redim"), "r") as f: - dictionnaire = json.load(f) - largeur1 = dictionnaire["dimensions"][0][0] - hauteur1 = dictionnaire["dimensions"][0][1] - largeur2 = dictionnaire["dimensions"][1][0] - hauteur2 = dictionnaire["dimensions"][1][1] - background_color = dictionnaire["background_color"] - format_final = dictionnaire["format_final"] - return largeur1, hauteur1, largeur2, hauteur2, background_color, format_final + configuration = json.load(f) + return configuration diff --git a/Redim/convertisseur.py b/Redim/convertisseur.py index 4c3b7e9..e7fb50a 100644 --- a/Redim/convertisseur.py +++ b/Redim/convertisseur.py @@ -1,7 +1,8 @@ from PIL.Image import ANTIALIAS from PIL.Image import new as image_new from PIL.Image import open as image_open -from os.path import isfile, isdir, join, mkdir, listdir +from os import mkdir, listdir +from os.path import isfile, isdir, join class Redim(): diff --git a/Redim/main.py b/Redim/main.py index 6c928fa..acceace 100644 --- a/Redim/main.py +++ b/Redim/main.py @@ -10,63 +10,36 @@ from config import Config from convertisseur import Redim -def nettoyage_pyinstaller(self): +def nettoyage_pyinstaller(): for i in listdir(environ["TMP"]): if i.startswith("_MEI") and isdir(i) and (int(getmtime(join(environ["TMP"], i))) < (time() - 86400)): rmtree(join(environ["TMP"], i)) -def reset_screen(banner): - if platform != "linux": - system("cls") - else: - system("clear") - print(*banner) - - def main(): - largeur1 = 500 - hauteur1 = 350 - largeur2 = 900 - hauteur2 = 900 - background_color = [255, 255, 255] - format_final = ".webp" + configuration = { + "largeur1": 500, + "hauteur1": 350, + "largeur2": 900, + "hauteur2": 900, + "background_color": [255, 255, 255], + "format_final": ".webp" + } formats_acceptes = ("jpg", "jpeg", "png", "bmp", "gif", "webp") - json_path = join(getenv("USERPROFILE"), "AppData", "Local", "Redim") + if platform != "linux": + json_path = join(getenv("USERPROFILE"), "AppData", "Local", "Redim") + else: + json_path = "." app = QApplication([]) widget = QWidget() while True: redim = Redim(formats_acceptes) if not isfile(join(json_path, "config_redim")): - Config.sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final) + Config.sauvegarde(json_path, configuration) else: - largeur1, hauteur1, largeur2, hauteur2, background_color, format_final = Config.lecture(json_path) + configuration = Config.lecture(json_path) if platform != "linux": redim.nettoyage_pyinstaller() - banner = ( - "\n ____ _ ____ ____ \n", - "| _ \\ _ __ ___ _ __ (_)_ _ _ __ ___ | _ \\ / ___|\n", - "| |_) | '__/ _ \\ '_ \\| | | | | '_ ` _ \\| |_) | | \n", - "| __/| | | __/ | | | | |_| | | | | | | __/| |___ \n", - "|_| |_| \\___|_| |_|_|\\__,_|_| |_| |_|_| \\____|\n", - "\n######################################################\n", - "\n[-] taille 1:", largeur1, "x", hauteur1, ", taille 2:", largeur2, "x", hauteur2, - "\n[-] rgb background:", background_color, - "\n[-] formats acceptes:", formats_acceptes, - "\n[-] format de sortie:", format_final, - "\n\n######################################################" - ) - menu = ( - "\n[-] Que faire?\n", - "\n (1) -> Conversion (", largeur1, "x", hauteur1, "px et", largeur2, "x", hauteur2, "px)", - "\n (5) -> Modification des tailles", - "\n (6) -> Modification du RGB", - "\n (7) -> Modification du format de sortie", - "\n (8) -> Reset des parametres", - "\n (9) -> Quitter\n" - ) - reset_screen(banner) - print(*menu) choix = input("[>] Choix (numero) : ") while True: reset_screen(banner) @@ -75,10 +48,12 @@ def main(): widget, "Dossier a travailler." ) - print("\n[-] travail pour", largeur1, "x", hauteur1, "px :") - redim.start(dossier, largeur1, hauteur1, tuple(background_color), format_final) - print("\n[-] travail pour", largeur2, "x", hauteur2, "px :") - redim.start(dossier, largeur2, hauteur2, tuple(background_color), format_final) + print("\n[-] travail pour", configuration["largeur1"], "x", configuration["hauteur1"], "px :") + redim.start(dossier, configuration["largeur1"], configuration["hauteur1"], + tuple(configuration["background_color"]), configuration["format_final"]) + print("\n[-] travail pour", configuration["largeur2"], "x", configuration["hauteur2"], "px :") + redim.start(dossier, configuration["largeur2"], configuration["hauteur2"], + tuple(configuration["background_color"]), configuration["format_final"]) input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .") break elif choix.strip() == "5": @@ -97,11 +72,11 @@ def main(): break except: print(" >>>ERREUR<<< Valeur incorrecte.") - largeur1 = dimensions[0] - hauteur1 = dimensions[1] - largeur2 = dimensions[2] - hauteur2 = dimensions[3] - Config.sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final) + configuration["largeur1"] = dimensions[0] + configuration["hauteur1"] = dimensions[1] + configuration["largeur2"] = dimensions[2] + configuration["hauteur2"] = dimensions[3] + Config.sauvegarde(json_path, configuration) print("\n[-] Modification effectue.") input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .") break @@ -109,7 +84,7 @@ def main(): reset_screen(banner) nouveau_background_color = [0, 0, 0] print("\n[-] Modification de la couleur du background (Valeur RGB 0-255):\n") - for pos, i in enumerate(background_color): + for pos, i in enumerate(configuration["background_color"]): while True: texte = [" [>] Valeur Rouge: ", " [>] Valeur Vert: ", " [>] Valeur Bleu: "] nouveau_background_color[pos] = input(texte[pos]) @@ -121,8 +96,8 @@ def main(): print(" >>>ERREUR<<< Valeur incorrecte.") except: print(" >>>ERREUR<<< Valeur incorrecte.") - background_color = nouveau_background_color - Config.sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final) + configuration["background_color"] = nouveau_background_color + Config.sauvegarde(json_path, configuration) print("\n[-] Modification effectue.") input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .") break @@ -137,8 +112,8 @@ def main(): try: nouveau_format = int(nouveau_format.strip()) if nouveau_format > 0: - format_final = "." + formats_acceptes[nouveau_format - 1] - Config.sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final) + configuration["format_final"] = "." + formats_acceptes[nouveau_format - 1] + Config.sauvegarde(json_path, configuration) print("\n[-] Modification effectue.") else: print(">>>ERREUR<<< Choix invalide.") @@ -151,13 +126,13 @@ def main(): elif choix.strip() == "8": reset_screen(banner) print("\n[-] Reset des parametres.") - largeur1 = 500 - hauteur1 = 350 - largeur2 = 900 - hauteur2 = 900 - background_color = [255, 255, 255] - format_final = ".webp" - Config.sauvegarde(json_path, largeur1, hauteur1, largeur2, hauteur2, background_color, format_final) + configuration["largeur1"] = 500 + configuration["hauteur1"] = 350 + configuration["largeur2"] = 900 + configuration["hauteur2"] = 900 + configuration["background_color"] = [255, 255, 255] + configuration["format_final"] = ".webp" + Config.sauvegarde(json_path, configuration) print("\n[-] Modification effectue.") input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .") break diff --git a/Redim/ui.py b/Redim/ui.py new file mode 100644 index 0000000..d15fb05 --- /dev/null +++ b/Redim/ui.py @@ -0,0 +1,36 @@ +from os import system +from sys import platform + + +class Ui: + def __init__(self, configuration, formats_acceptes): + self.banner = ( + "\n ____ _ ____ ____ \n", + "| _ \\ _ __ ___ _ __ (_)_ _ _ __ ___ | _ \\ / ___|\n", + "| |_) | '__/ _ \\ '_ \\| | | | | '_ ` _ \\| |_) | | \n", + "| __/| | | __/ | | | | |_| | | | | | | __/| |___ \n", + "|_| |_| \\___|_| |_|_|\\__,_|_| |_| |_|_| \\____|\n", + "\n######################################################\n", + "\n[-] taille 1:", configuration["largeur1"], "x", configuration["hauteur1"], + ", taille 2:", configuration["largeur2"], "x", configuration["hauteur2"], + "\n[-] rgb background:", configuration["background_color"], + "\n[-] formats acceptes:", formats_acceptes, + "\n[-] format de sortie:", configuration["format_final"], + "\n\n######################################################" + ) + self.menu = ( + "\n[-] Que faire?\n", + "\n (1) -> Conversion (", configuration["largeur1"], "x", configuration["hauteur1"], + "px et", configuration["largeur2"], "x", configuration["hauteur2"], "px)", + "\n (5) -> Modification des tailles", + "\n (6) -> Modification du RGB", + "\n (7) -> Modification du format de sortie", + "\n (8) -> Reset des parametres", + "\n (9) -> Quitter\n" + ) + + def reset_screen(self): + if platform != "linux": + system("cls") + else: + system("clear") |
