DescripcionConfiguración – Pyragua

Descripción del módulo de Configuración de Pyragua

Es importante para el usuario tener una herramienta de programación que se acople a sus necesidades, y que de alguna manera facilite su experiencia en el momento de programar pensando en ello es una caracteristica importante contar con un administrador de configuración en la versión .4. A continuación se listan las características más generales que debe cumplir el administración de configuración.

Caracteristicas Generales

* Configuración de plugins(plugins a futuro)

* Permitir conectar plugins al archivo

* Configuración de la apariencia (permitir que la shell este dentro de la vista principal de la IDE o ser una ventana extra)

* Regresar a la configuración por defecto (configuració inicial)

* Configuración de templates

Ideas para la implementación

Dado que XML podría resultar complicado para la implementación puesto que el fichero de configuración podría tener bastantes lineas entonces en su lugar se usará el módulo ConfigParser? dado que es muy útil a la hora de leer y escribir archivos de configuración al estilo de los archivos .ini (los de windows) ,con distintas secciones delimitadas por un nombre de sección y pares de la forma clave-valor (uso de diccionarios) lo que facilitara el trabajo.


Descripción General

Necesidades de los Archivos de Configuración

Archivos de Configuración

Lista de algunos archivos de configuración que manejará Pyragua:

Principal
Pyragua tendrá un archivo de configuración principal, que contendrá la información por defecto. Este archivo, en caso de que no se encuentre, se creará bajo la carpeta .pyragua.
Combinaciones de Teclas
Un archivo de configuración contendrá los atajos de pyragua, de forma que estos puedan ser configurables.
Interfaz
Un archivo de configuración que contendrá configuraciones relacionadas con la interfaz gráfica de Pyragua. El encargado de crearlo es PyraguaUI.
Plugins
Los plugins pueden crear sus propios archivos de configuración para sus necesidades. El administrador debe permitir esto.

Ideas para la implementación

Los métodos get del archivo de configuración deben recibir como último parámetro un valor por defecto, de forma que siempre que se use, y dado que no se tenga un determinado parámetro, no se afecte el funcionamiento de pyragua.

ConfigParser? para sus archivos de configuración maneja una jerarquía de Seccions->Opciones. Un archivo es de la forma

[Seccion1]
opcion = valor
opcion2 = valor2

[Seccion2]
opcion21 = valor21

El get es de la forma get("Seccion1", "opcion") lo cual retorna valor. Dado que se manejarán diversos archivos de configuración, pero se espera tener un administrador de configuración unificado, se debe manejar un tercer nivel en la jerarquía, algo de la forma Archivo -> seccion -> opcion. Suponiendo que el archivo anterior se llama pyragua.conf, el get sería de la forma get("pyragua", "Seccion1". "opcion") (En este caso se ignoró la extensión, pero quizás no sea conveniente que sea así.

Para manejar un valor por defecto la función get será de la forma get("archivo", "seccion", "opcion", "valorpordefecto"). Si no encuentra el archivo, o la seccion, o la opcion, se retornará el valor por defecto. También si se levanta algún tipo de excepción por un formato inválido de un archivo de configuración sucederá lo mismo, de esta forma pyragua continuará utilizando el valor por defecto. También se puede pensar que se agregue el valor por defecto, si es que no se encuentra.

Se puede pensar que por defecto se leans ciertos archivos de configuración de una carpeta, o que se interpreten los archivos por demanda, es decir, al realizar un get sobre un archivo, si este no se ha leído aún, se lee, pero se mantendrá cargado para próximas consultas.

Interfaz del módulo de Configuración

API del módulo de configuración.