示例#1
0
    def get(self):
        if self.request.get('clear') == 'T':
            logger.clear_log()
        if self.request.get('msg'):
            logger.log(self.request.get('msg'))

        self.response.write(logger.dump_log())
示例#2
0
    def get(self):
        if self.request.get('clear') == 'T':
            logger.clear_log()
        if self.request.get('msg'):
            logger.log(self.request.get('msg'))

        self.response.write(logger.dump_log())
示例#3
0
import phonebook
import logger
import sys

program = True
args = sys.argv

while program:
    new_contact = phonebook.create_contact()
    phonebook.add_contact(phonebook.repertoire, new_contact)
    next_name = input("Rentré un nouveau numéro ? ")
    if next_name == "Non":
        program = False

phonebook.console_print()

for i in range(0, len(args)):
    if (args[i] == "-display") and (len(args) > i + 1):
        phonebook.get_contact(args[i + 1], phonebook.repertoire)

for i in range(0, len(args)):
    if args[i] == "-log":
        logger.dump_log()
示例#4
0
import phonebook as p
import logger as l

k = "defkjenkf"
c = p.create_contact('Kilian', '0769062552', True)
p.add_contact(c)
c = p.create_contact('Max', '0145935203', False)
p.add_contact(c)
c = p.create_contact('Lucie', '0967203628', False)
p.add_contact(c)
c = p.create_contact('Faycal', '0783429508', True)
p.add_contact(c)
c = p.create_contact('Charles', None, False)
p.add_contact(c)
print(p.annuaire)

print(p.get_names())

p.display_all()
try:
    p.get_contact(k)
except KeyError as ke:
    print(ke)

try:
    l.dump_log()
except FileNotFoundError as fnfe:
    print(fnfe)
示例#5
0
def disply_all():
    logger.dump_log()
    for a in annuaire:
        print(annuaire[a])
示例#6
0
def args_fonction():
    """
    Permet de faire tourner le logiciel, condition pour les filtres selon ce qui est entrée en ligne de commandes,
    Vérification des dossiers si ils existes ou pas, vérification du .png ou .jpg pour les photos à transformer,
    Gestion de tout les erreurs possibles, récupération des arguments, variable crée pour évite le code en dur,
    Adaptable si changement de valeur,
    Implémentation des logs, affiche du menu et des logs,
    Gestion de tout le programmes
    """
    # On récupère les arguments
    args = sys.argv
    # Variable qui stocke le dossier où se trouve les images à modifier
    enter = ""
    leave = ""
    filters_args = ""
    i = 0

    # Si le premier argument est "--config-file" alors on lui affiche les logs
    if "--config-file" in args:
        index_ini = args.index("--config-file")
        file_ini = args[index_ini + 1]
        config = configparser.ConfigParser()
        config.read(file_ini)
        enter = config["general"]["input_dir"]
        leave = config["general"]["output_dir"]
        filters_args = config["filters"]["content"]
        print(f"enter = {enter}")
        print(f"leave = {leave}")
        print(f"filters_args = {filters_args}")
        log.log("Utilisation du fichier ini pour appliqué les filtres")
    elif "--list-filters" in args:
        list.affichage()
        sys.exit(0)
    elif "--log-file" in args:
        log.dump_log()
        log.log("On affiche les logs en console")
        sys.exit(0)

    for a in args:
        # On vérifie les arguments entrée dans la CLI
        # Si le premier argument est "-h" alors on lui affiche la page d'aide
        if a == "-h":
            log.log(f"On affiche la liste d'aides des commandes à entrer")
            print(f"Liste des commandes permises")
            print(f"Fichier d'entrée : -i [nom du fichier d'entrée]")
            print(f"Fichier de sortie : -o [nom du fichier de sortie]")
            print(f"Avoir de l'aide : -h")
            print(
                f"Ajoute un filtre : --filters [nom du filtre ou des filtres]"
                f" exemple 1: 'grayscale' ou 'blur'"
                f" exemple 2 : 'grayscale|blur:3|dilate:5")
            print(f"Afficher les logs : --config-file [nom du fichier]")
            print(f"Liste des filtres disponible --list-filters")
            sys.exit(0)
        elif a == "-i":
            enter = args[i + 1]
        elif a == "-o":
            leave = args[i + 1]
        elif a == "--filters":
            filters_args = args[i + 1]
            log.log(f"{a}, vous avez choisi un filtre")
        i += 1

    # Si dans le chemin d'accès le dossier entrer dans leave n'existe pas
    if not os.path.exists(leave):
        # Alors on le crée
        log.log("Création d'un dossier de sortie")
        os.mkdir(leave)

    # Ca supprimer toutes les barres au sein de la chaine de caractères et envoie les mots sous
    # forme de liste
    strBarre = filters_args.split("|")

    # Permet de lire les éléments qui se trouve dans le dossier enter et on la renomme avec un alias en "entries"
    with os.scandir(enter) as entries:
        # Si dans le chemin d'accès le dossier indiqué dans la variable enter existe alors
        if os.path.exists(enter):
            # On fait une boucle pour récupérer les objets dans le dossier enter
            for entry in entries:
                # On vérifie que la fin des noms des fichiers est bien en .jpg ou .png sinon
                if not entry.name.endswith((".jpg", ".png")):
                    # On saute le fichier et on lui indique que ce n'est pas le bon format et le nom du format
                    # On log la même chose dans le fichier log pour avoir une trace
                    log.log(
                        f"Le fichier n'est pas en bon format : {entry.name.split('.')[1]}"
                    )
                    # Et on continue le programme
                    continue
                # On stock dans la variable image, le dossier à lire grâce à openCV
                img = cv2.imread(f"{enter}/{entry.name}")

                # On boucle sur la liste renvoyé sans les barres
                for a in strBarre:
                    # Si la liste commence par blur alors
                    if a.startswith("blur"):
                        # Alors on split pour récupérer la valeur d'après les deux points
                        value = a.split(":")
                        if len(value) != 2:
                            log.log("Intensité du flou manquante")
                            continue
                        # On applique le filtre blur sur tout les photos, on lui met la valeur donné par l'user
                        img = GaussianBlur.TransformBlur(img, int(value[1]))
                        # On lui dit que c'est fait
                        log.log(f"Filtre Blur Appliqué = {entry.name}")
                    # Si la liste commence par grayscale alors
                    elif a.startswith("grayscale"):
                        # On applique le filtre n&b sur tout les photos
                        img = BlackAndWhite.TransformNetB(img)
                        # On lui dit que c'est fait
                        log.log(f"Filtre Grayscale Appliqué = {entry.name}")
                    # Si la liste commence par dilate alors
                    elif a.startswith("dilate"):
                        value = a.split(":")
                        if len(value) != 2:
                            log.log("Intensité du dilate manquante")
                            continue
                        # On applique le filtre dilate sur tout les photos,on lui met la valeur donné par l'user
                        img = Dilate.TransformDilate(img, int(value[1]))
                        # On lui dit que c'est fait
                        log.log(f"Filtre Dilate Appliqué = {entry.name}")
                        # Sinon on lui dit que le filtre n'est pas valide en lui mettant ce qu'il a entrée
                    # Si la liste commence par zeTeam alors
                    elif a.startswith("zeteam"):
                        # On applique le filtre zeTeam sur tout les photos,
                        img = ZeTeam.TransformZeTeam(img)
                        # On lui dit que c'est fait
                        log.log(f"Filtre ZeTeam Appliqué = {entry.name}")
                    else:
                        log.log("Le nom du filtre est invalide")
                    print(f"FILTERS={filters_args}")
                    try:
                        # On applique les filtres et on crée les fichiers si pas ou modifie
                        cv2.imwrite(f"{leave}/{entry.name}", img)
                    except cv2.error as e:
                        print(e)
        # Sinon
        else:
            # On lui dit que le dossier d'entrée n'existe pas et on le crée
            log.log(
                "Création d'un dossier d'entrée car le dossier d'entrée n'existe pas"
            )
            print("Le dossier n'existe pas")
            os.mkdir(enter)