Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1158 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Validation de fichier de conf en python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Validation de fichier de conf en python

n°2225286
o'gure
Multi grognon de B_L
Posté le 16-04-2014 à 20:49:53  profilanswer
 

Bonjour,
Je recherche en python une lib ou une méthode simple pour valider un fichier de conf par rapport à un template modèle contenant la syntaxe, les blocs de conf attendu, des expressions régulières, etc...
Généralement j'utilise jinja2 pour faire l'inverse, générer des confs à partir d'un template, mais je n'ai pas vu qu'il était possible de faire l'inverse avec.
Les fichiers de confs vont généralement être du type suivant si ça peut aider.


keyword {
  truc {
    machin <expression régulière>;
  }
  abla {
    foobar {
      ablablablabl [ app1 app2 app3 ];
    }
  }
}


Je voudrais pouvoir définir réellement le template comme je veux.

 

En sortie le top serait :
1. de savoir si l'input est valide avec le modèle de référence
2. savoir où il manque des trucs
3. pouvoir déclencher des actions quand on détecte une différence avec le modèle.

 

Si ça peut aider, je pourrais relativement facilement transformer le fichier input en xml, mais je préfèrais rester dans le format natif.

 

Avez vous des recommandations/idées pour ça ?

 

Petit complément, je récupèrerais mon input via paramikoe.


Message édité par o'gure le 16-04-2014 à 20:50:42

---------------
Relax. Take a deep breath !
mood
Publicité
Posté le 16-04-2014 à 20:49:53  profilanswer
 

n°2225387
LeRiton
Posté le 17-04-2014 à 15:56:08  profilanswer
 

Disclaimer : je fais pas de Python :o
 
Ce que tu cherches c'est un parser.
 
Si ton fichier de conf est d'un format connu (XML, YAML...), tu utilises un parser existant, tu auras juste (éventuellement) à valider les values selon tes critères.
 
Si ton fichier de conf suit un format spécifique, un truc que tu as toi même défini, t'es bon pour écrire ton parser, la grammaire qui va avec. Cadeau : https://wiki.python.org/moin/LanguageParsing
 
Si seules les values changent, mais que la structure est toujours identique, tu peux faire un diff avec ton template, mais c'est crado :o

n°2225468
o'gure
Multi grognon de B_L
Posté le 18-04-2014 à 13:57:06  profilanswer
 

LeRiton a écrit :

Disclaimer : je fais pas de Python :o

 

Ce que tu cherches c'est un parser.


J'ai pas envie d'en développer, trop lourd pour l'intéret.

LeRiton a écrit :


Si ton fichier de conf est d'un format connu (XML, YAML...), tu utilises un parser existant, tu auras juste (éventuellement) à valider les values selon tes critères.


Non, ce n'est pas un format connu.

LeRiton a écrit :


Si ton fichier de conf suit un format spécifique, un truc que tu as toi même défini, t'es bon pour écrire ton parser, la grammaire qui va avec. Cadeau : https://wiki.python.org/moin/LanguageParsing


Je vais regarder, merci

 
LeRiton a écrit :


Si seules les values changent, mais que la structure est toujours identique, tu peux faire un diff avec ton template, mais c'est crado :o


C'est une solution, mais justement certaines valeurs changent et je voudrais un diff avec des expressions régulières en fait :D


Message édité par o'gure le 18-04-2014 à 13:57:38

---------------
Relax. Take a deep breath !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Validation de fichier de conf en python

 

Sujets relatifs
[RESOLU][powershell 2.0] Lecture de fichier properties problématique..supprimer cote dans un fichier
Fonction include pour un fichier htmlCouper des champs particuliers du fichier texte
parser un fichier json avec jqueryimportation de valeur de cellule dans un texte sous excel
Script shell pour comparaison de 2 fichier et récupération du résultatJeu de carte Python
[TOMCAT] Question sur cheminement de conf pour lancement d'une APPcomment extraire des données spécifique du fichier log
Plus de sujets relatifs à : Validation de fichier de conf en python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR