parse - ¿Alguna libs de python para analizar archivos de configuración de Apache?
python configuration manager (6)
El grupo de tecnologías emergentes de Red Hat tiene Augeas (escrito en C, pero con enlaces de Python disponibles), una herramienta de configuración de sistema genérica con "lentes" para leer y escribir varios formatos de archivos de configuración diferentes. Consideraría investigar la disponibilidad de una lente para Apache.
Cualquier lib de Python para analizar archivos de configuración de Apache o, si no es Python, ¿alguien está enterado de tal cosa en otros idiomas (perl, php, java, c #)? Como podré reescribirlos en python.
ZConfig, creo, se enviaba con un esquema para analizar archivos de configuración de Apache; ya no parece, pero está orientado a analizar esos tipos de archivos y convertir la configuración en un objeto de Python. Un vistazo rápido a la documentación sugiere que no sería muy difícil configurar un esquema ZConfig que corresponda a las opciones de Apache que quiera analizar y validar.
Encontré un analizador de Apache Config para Python aquí: http://www.poldylicious.de/node/25
El Apache Config Parser mencionado no está documentado, pero funciona.
También hay un nuevo analizador liberado.
Todavía carece de documentación, sin embargo, es bastante sencillo de entender.
Ejemplo
import apache_conf_parser
import pprint
DEFAULT_VHOST = ''/etc/apache2/sites-available/000-default.conf''
vhost_default = apache_conf_parser.ApacheConfParser(DEFAULT_VHOST)
print vhost_default.nodes
print vhost_default.nodes[0].body.nodes
pprint.pprint(
{
i.name: [i.arguments for i in vhost_default.nodes[0].body.nodes]
}
)
Hay una nueva biblioteca a partir de 2016 escrita usando pyparsing:
https://pypi.python.org/pypi/parse_apache_configs/
Tiene algunas asperezas, pero me permitió agregar directivas y guardarlas en un nuevo archivo.
Fuente en https://github.com/alextricity25/parse_apache_configs
No hay bibliotecas de Python que yo sepa, pero aquí hay una perl: http://packages.debian.org/sid/libapache-configfile-perl
Package: libapache-configfile-perl
Priority: optional
Section: interpreters
Installed-Size: 124
Maintainer: Michael Alan Dorman
Version: 1.18-1
Depends: perl (>= 5.6.0-16)
Description: Parse an Apache style httpd.conf configuration file
This module parses the Apache httpd.conf, or any
compatible config file, and provides methods for
you to access the values from the config file.
Si lo reescribe en Python, actualice su publicación para mencionar el nombre de su paquete en PyPI. :)