import mcd_mocodo as mcd from mocodo.api import mocodo import pathlib import os DOSSIER_DE_SORTIE = "output" SUPPRIMER_FICHERTEXTE = True SUPPRIMER_GEOJSON = True domaines = [ # (mcd.nom_du_domaine, "nom_du_fichier", seed), (mcd.auth, "auth",4), (mcd.activites, "activites",2), (mcd.ressources, "ressources",2), (mcd.test, "test",3), (mcd.recompenses, "recompenses",3), ] def generer_mcd(domaine:str,nom:str,ga:bool=False,seed:float=1): """ Generer un graphe MCD à partir d'un domaine exprimé en MCD mocodo :param domaine: Le domaine exprimé en MCD mocodo :type domaine: str :param nom: Le nom du fichier de sortie :type nom: str :param ga: Utiliser l'algorithme génétique pour arranger les entités :type ga: bool :param seed: La graine pour le réarangement des entités, par défaut 1 :param seed: int :return: None """ with open(f"{nom}.mcd", "w") as f: f.write(domaine) result = mocodo(f'-i {nom} --colors ocean -t arrange{":algo=ga" if ga else ""} --seed {seed} --detect_overlaps') print(result) if SUPPRIMER_FICHERTEXTE : pathlib.Path(f"{nom}.mcd").unlink(missing_ok=True) if SUPPRIMER_GEOJSON : pathlib.Path(f"{nom}_geo.json").unlink(missing_ok=True) if __name__ == "__main__": pathlib.Path(DOSSIER_DE_SORTIE).mkdir(parents=True, exist_ok=True) os.chdir(DOSSIER_DE_SORTIE) for mcd_mocodo, nom, seed in domaines: generer_mcd(mcd_mocodo, nom, seed=seed)