summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebulois Quentin <quentin.debulois@gmail.com>2020-09-18 08:20:42 +0200
committerDebulois Quentin <quentin.debulois@gmail.com>2020-09-18 08:20:42 +0200
commit1f04346cae63d14e47c2c4dfe6721b28a1e45211 (patch)
tree7da1cf4a1cab01882bfc8497c3f929b35b3d81b9
parent738685e0ff2686e9be969ff29019663c6981d984 (diff)
POO en cour ui pour ce commmit
-rw-r--r--Redim/config.py24
-rw-r--r--Redim/convertisseur.py3
-rw-r--r--Redim/main.py101
-rw-r--r--Redim/ui.py36
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")