Je suis en train de faire une modeste application en Python pour la feignasse que je suis (un truc qui redimensionne des photos, les recompresse, génère les miniatures, renomme le tout et l'upload sur un FTP). Cette application n'ayant pas de GUI (je rappelle, je rappelle je suis une feignasse) et voulant éviter les lignes de commande à rallonge (jsuf) les différentes options seront régies par un fichier de conf.
Python propose la solution clé en main pour utiliser un fichier de conf sans trop se prendre la tête: ConfigParser.SafeConfigParser.
Wünderbar.
Sauf que voilà, j'ai pas vraiment envie que les détails du fichier de conf (comment sont nommées les sections et les entrées) voire même la mécanique du fichier de conf soient intimement liées à la logique de l'appli. D'où l'idée d'encapsuler tout ça dans un module séparé, voire une classe ad hoc. Ma question est simple: quelle est l'implémentation la plus adaptée à Python ?
- faire une classe à part qui instancie un SafeConfigParser ou dériver une classe à moi du SafeConfigParser ?
- faire des getters qui se contenteront de faire un get(section, variable) ?
- utiliser __getattr__ pour faire le get(section, variable) approprié et éviter d'écrire des getters ?
Je ne suis pas encore totalement en osmose avec les paradigmes du Python, alors si une âme charitable et éclairée veut bien me donner un signe, je lui en serait reconnaissant (accessoirement, j'ai pas encore beaucoup de vécu en Python, donc je préfère éviter de prendre le mauvais pli, ou encore d'appliquer tel quel ce que j'aurais fait dans un autre langage).