def est_coherent(self, generaux, clients): """ vérifie que les données du fichier importé sont cohérentes :param generaux: paramètres généraux :param clients: clients importés :return: 1 s'il y a une erreur, 0 sinon """ if self.verifie_coherence == 1: print(self.libelle + ": cohérence déjà vérifiée") return 0 msg = "" ligne = 1 donnees_list = [] for donnee in self.donnees: if donnee['position'] == "": msg += "la position de la ligne " + str( ligne) + " ne peut être vide\n" donnee['position'], info = Outils.est_un_nombre( donnee['position'], "la position", ligne) msg += info donnee['position'] = int(donnee['position']) if donnee['position'] < 1: msg += " la position de la ligne " + str( ligne) + " doit être un entier > 0\n" if donnee['Annexe-pièces'] == "": msg += "le annexe P.J. de la ligne " + str( ligne) + " ne peut être vide\n" if not (donnee['Annexe-pièces'] == "OUI" or donnee['Annexe-pièces'] == "NON"): msg += "le annexe P.J. de la ligne " + str( ligne) + " doit être 'OUI' ou 'NON'\n" if donnee['Annexe-interne'] == "": msg += "le annexe Int de la ligne " + str( ligne) + " ne peut être vide\n" if not (donnee['Annexe-interne'] == "OUI" or donnee['Annexe-interne'] == "NON"): msg += "le annexe Int de la ligne " + str( ligne) + " doit être 'OUI' ou 'NON'\n" if donnee['nature'] != "" and donnee[ 'nature'] not in generaux.obtenir_code_n(): msg += "la nature '" + donnee['nature'] + "' de la ligne " + str(ligne) +\ " n'existe pas dans les types N\n" if donnee['code'] != "" and donnee[ 'code'] not in clients.obtenir_codes(): msg += "le code client '" + donnee[ 'code'] + "' de la ligne " + str( ligne) + " n'est pas référencé\n" donnee['chemin'] = Outils.chemin( [self._chemin, donnee['nom'] + ".pdf"]) if not Outils.existe(donnee['chemin']): msg += "le fichier PDF '" + donnee[ 'nom'] + "' de la ligne " + str(ligne) + " n'existe pas\n" donnees_list.append(donnee) ligne += 1 self.donnees = donnees_list self.verifie_coherence = 1 if msg != "": msg = self.libelle + "\n" + msg Outils.affiche_message(msg) return 1 return 0
Verification, Detail, Resumes, Recapitulatifs) from prod2qual import Prod2Qual from latex import Latex arguments = docopt(__doc__) if arguments["--sansgraphiques"]: Outils.interface_graphique(False) if arguments["--entrees"]: dossier_data = arguments["--entrees"] else: dossier_data = Outils.choisir_dossier() dossier_source = DossierSource(dossier_data) pe_present = Outils.existe(Outils.chemin([dossier_data, Edition.nom_fichier])) sup_present = Outils.existe( Outils.chemin([dossier_data, SuppressionFacture.nom_fichier])) ann_present = Outils.existe( Outils.chemin([dossier_data, AnnulationVersion.nom_fichier])) ann_sup_present = Outils.existe( Outils.chemin([dossier_data, AnnulationSuppression.nom_fichier])) if pe_present and sup_present: msg = "Deux fichiers bruts incompatibles dans le répertoire : supprfact.csv et paramedit.csv" Outils.affiche_message(msg) sys.exit("Erreur sur les fichiers") if pe_present and ann_present: msg = "Deux fichiers bruts incompatibles dans le répertoire : paramedit.csv et annulversion.csv" Outils.affiche_message(msg)
if arguments["--entrees"]: dossier_data = arguments["--entrees"] else: dossier_data = Outils.choisir_dossier(plateforme) dossier_source = DossierSource(dossier_data) subedition = SubEdition(dossier_source) subgeneraux = SubGeneraux(dossier_source) subcomptes = SubCompte(dossier_source) submachines = SubMachine(dossier_source) subprestations = SubPrestation(dossier_source) chemin_force = Outils.chemin([dossier_data, Force.nom_fichier], plateforme) force = None if Outils.existe(chemin_force): force = Force(dossier_source) dossier_bilans = subgeneraux.lecture mois = subedition.mois_debut_general annee = subedition.annee_debut_general bilans = [] while 1: fichier_complet = "bilan-comptes_" + str(annee) + "_" + Outils.mois_string( mois) + ".csv" chemin = Outils.chemin( [dossier_bilans, annee, Outils.mois_string(mois), fichier_complet], plateforme) if not Outils.existe(chemin): msg = "Le fichier '" + fichier_complet + "' manque dans le dossier !" Outils.affiche_message(msg)