ConfigParser y secciones en mayuscula/minuscula

Oswaldo Hernández listas en soft-com.es
Vie Jul 10 14:56:57 CEST 2009


Renato Covarrubias Romero escribió:

> 
> Interesante opción, pero quizás demaciado complejo para lo que necesita.
> 
> # ---
> 
> from ConfigParser import ConfigParser
> 
> class IncaseConfigParser(ConfigParser):
>   def get(self, section, option, raw=False, vars=None):
>     for s in self.sections():
>       if s.lower() == section.lower():
>         for o in self.options(s):
>           if o.lower() == option.lower():
>             return ConfigParser.get(self, s, o, raw, vars)
>     return None
> 
> parse = IncaseConfigParser()
> parser.read("file.conf")
> parse.get("MySECtiON", "var1")
> 

Finalmente la modificación la hice en el método read para convertir a minuscula en la lectura:

class mConfig(ConfigParser.SafeConfigParser):
     def read(self, f):
         """ Conversion del diccionario '_sections' a minusculas """
         try:
             ConfigParser.SafeConfigParser.read(self, f)
             secciones = {}
             _sec = self._sections

             for k in _sec:
                 claves = {}
                 for v in _sec[k]:
                     claves[v.lower()] = _sec[k][v]

                 secciones[k.lower()] = claves

             self._sections = secciones

         except:
             raise


Saludos,

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es