2 Ce module contient le plugin convertisseur de fichier
3 au format ini pour EFICAS.
4 Le convertisseur supporte le format de sortie eval
6 Le format eval est un texte Python qui peut etre
7 evalué avec la commande eval de Python. Il doit donc
8 etre une expression Python dont l'évaluation permet d'obtenir un objet
13 from ConfigParser import ConfigParser
14 from Noyau import N_CR
18 Retourne les informations nécessaires pour le chargeur de plugins
19 Ces informations sont retournées dans un dictionnaire
24 # La factory pour créer une instance du plugin
25 'factory' : IniParser,
29 class IniParser(ConfigParser):
31 Ce convertisseur lit un fichier au format ini avec la
32 methode readfile : convertisseur.readfile(nom_fichier)
33 et retourne le texte au format outformat avec la
34 methode convertisseur.convert(outformat)
36 Ses caractéristiques principales sont exposées dans 2 attributs
39 - extensions : qui donne une liste d'extensions de fichier préconisées
41 - formats : qui donne une liste de formats de sortie supportés
43 # Les extensions de fichier préconisées
44 extensions=('.ini','.conf')
45 # Les formats de sortie supportés (eval ou exec)
46 formats=('eval','dict')
48 def __init__(self,cr=None):
49 ConfigParser.__init__(self)
50 # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
54 self.cr=N_CR.CR(debut='CR convertisseur format ini',
55 fin='fin CR format ini')
57 def readfile(self,filename):
63 def convert(self,outformat):
64 if outformat == 'eval':
65 return self.getdicttext()
66 elif outformat == 'dict':
69 raise "Format de sortie : %s, non supporté"
71 def getdicttext(self):
73 for section in self.sections():
74 s=s+ "'" + section + "' : {"
75 options=self.options(section)
76 for option in options:
77 value=self.get(section,option)
78 if value == '':value="None"
79 s=s+"'%s' : %s," % (option, value)
86 for section in self.sections():
88 options=self.options(section)
89 for option in options:
90 value=self.get(section,option)