summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebulois Quentin <quentin.debulois@gmail.com>2020-09-18 17:14:29 +0200
committerDebulois Quentin <quentin.debulois@gmail.com>2020-09-18 17:14:29 +0200
commitdd8d8cbdd2394a487e9dc4badf8798d2b9df374a (patch)
tree42d6e2b9026bce7da476300204fc74fc262522a1
parent1f04346cae63d14e47c2c4dfe6721b28a1e45211 (diff)
Travail sur la POO, pas de rajout, juste du paufinage.
-rw-r--r--Redim/config.py11
-rw-r--r--Redim/convertisseur.py1
-rw-r--r--Redim/main.py55
-rw-r--r--Redim/ui.py54
4 files changed, 72 insertions, 49 deletions
diff --git a/Redim/config.py b/Redim/config.py
index 4bfa31a..de03ead 100644
--- a/Redim/config.py
+++ b/Redim/config.py
@@ -1,6 +1,8 @@
import json
-from os import mkdir
-from os.path import isdir, join
+from time import time
+from shutil import rmtree
+from os import mkdir, listdir, environ
+from os.path import isdir, join, getmtime
class Config():
@@ -14,3 +16,8 @@ class Config():
with open(join(json_path, "config_redim"), "r") as f:
configuration = json.load(f)
return configuration
+
+ def nettoyage_pyinstaller(self):
+ 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))
diff --git a/Redim/convertisseur.py b/Redim/convertisseur.py
index e7fb50a..ddb0092 100644
--- a/Redim/convertisseur.py
+++ b/Redim/convertisseur.py
@@ -10,6 +10,7 @@ class Redim():
self.formats_acceptes = formats_acceptes
def start(self, dossier, larg, haut, background_color, format_final):
+ print("\n[-] travail pour", larg, "x", haut, "px :")
if dossier == "":
print(" >>>ERREUR<<< : Aucun dossier selectionne.")
return
diff --git a/Redim/main.py b/Redim/main.py
index acceace..32ad287 100644
--- a/Redim/main.py
+++ b/Redim/main.py
@@ -6,15 +6,11 @@ from sys import platform, exit
from time import time
from shutil import rmtree
from PyQt5.QtWidgets import QFileDialog, QApplication, QWidget
+from ui import Ui
from config import Config
from convertisseur import Redim
-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 main():
configuration = {
@@ -26,38 +22,47 @@ def main():
"format_final": ".webp"
}
formats_acceptes = ("jpg", "jpeg", "png", "bmp", "gif", "webp")
+
if platform != "linux":
json_path = join(getenv("USERPROFILE"), "AppData", "Local", "Redim")
else:
json_path = "."
+
app = QApplication([])
widget = QWidget()
+ config = Config()
+
while True:
redim = Redim(formats_acceptes)
+ ui = Ui(configuration, formats_acceptes)
if not isfile(join(json_path, "config_redim")):
- Config.sauvegarde(json_path, configuration)
+ config.sauvegarde(json_path, configuration)
else:
- configuration = Config.lecture(json_path)
+ print(json_path)
+ configuration = config.lecture(json_path)
if platform != "linux":
- redim.nettoyage_pyinstaller()
+ config.nettoyage_pyinstaller()
+ ui.affichage_banner()
+ ui.affichage_menu()
choix = input("[>] Choix (numero) : ")
+
while True:
- reset_screen(banner)
+ ui.reset_screen()
+ ui.affichage_banner()
+
if choix.strip() == "1":
dossier = QFileDialog.getExistingDirectory(
widget,
"Dossier a travailler."
)
- 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 .")
+ ui.affichage_fin()
break
elif choix.strip() == "5":
- reset_screen(banner)
+ ui.reset_screen()
dimensions = [0, 0, 0, 0]
for pos, i in enumerate(dimensions):
if pos == 0:
@@ -76,12 +81,12 @@ def main():
configuration["hauteur1"] = dimensions[1]
configuration["largeur2"] = dimensions[2]
configuration["hauteur2"] = dimensions[3]
- Config.sauvegarde(json_path, configuration)
+ config.sauvegarde(json_path, configuration)
print("\n[-] Modification effectue.")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
elif choix.strip() == "6":
- reset_screen(banner)
+ ui.reset_screen()
nouveau_background_color = [0, 0, 0]
print("\n[-] Modification de la couleur du background (Valeur RGB 0-255):\n")
for pos, i in enumerate(configuration["background_color"]):
@@ -97,9 +102,9 @@ def main():
except:
print(" >>>ERREUR<<< Valeur incorrecte.")
configuration["background_color"] = nouveau_background_color
- Config.sauvegarde(json_path, configuration)
+ config.sauvegarde(json_path, configuration)
print("\n[-] Modification effectue.")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
elif choix.strip() == "7":
print("\n[-] Modification du format de sortie:\n")
@@ -113,18 +118,18 @@ def main():
nouveau_format = int(nouveau_format.strip())
if nouveau_format > 0:
configuration["format_final"] = "." + formats_acceptes[nouveau_format - 1]
- Config.sauvegarde(json_path, configuration)
+ config.sauvegarde(json_path, configuration)
print("\n[-] Modification effectue.")
else:
print(">>>ERREUR<<< Choix invalide.")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
except:
print(">>>ERREUR<<< Choix invalide.")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
elif choix.strip() == "8":
- reset_screen(banner)
+ ui.reset_screen()
print("\n[-] Reset des parametres.")
configuration["largeur1"] = 500
configuration["hauteur1"] = 350
@@ -132,9 +137,9 @@ def main():
configuration["hauteur2"] = 900
configuration["background_color"] = [255, 255, 255]
configuration["format_final"] = ".webp"
- Config.sauvegarde(json_path, configuration)
+ config.sauvegarde(json_path, configuration)
print("\n[-] Modification effectue.")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
elif choix.strip() == "9":
if platform != "linux":
@@ -144,7 +149,7 @@ def main():
exit(0)
else:
print("\n[-] Reponse invalide .")
- input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
+ ui.affichage_fin()
break
diff --git a/Redim/ui.py b/Redim/ui.py
index d15fb05..5d21efd 100644
--- a/Redim/ui.py
+++ b/Redim/ui.py
@@ -5,29 +5,39 @@ 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######################################################"
- )
+ "\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"
- )
+ "\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 affichage_banner(self):
+ print(*self.banner)
+
+ def affichage_menu(self):
+ print(*self.menu)
+
+ def affichage_fin(self):
+ input("\n[-] fin, appuyer sur \'entrer\' pour recommencer .")
def reset_screen(self):
if platform != "linux":