Любые библиотеки Python для разбора конфигурационных файлов Apache? - PullRequest
12 голосов
/ 26 октября 2008

Какие-нибудь библиотеки Python для разбора конфигурационных файлов Apache или, если не Python, кто-нибудь знает об этом на других языках (perl, php, java, c #)? Как я смогу переписать их в Python.

Ответы [ 6 ]

7 голосов
/ 16 марта 2010

Я нашел интересный парсер Apache Config для python здесь: http://www.poldylicious.de/node/25

Упомянутый парсер Apache Config не задокументирован, но он работает.

3 голосов
/ 10 мая 2017

По состоянию на 2016 год существует новая библиотека, написанная с использованием pyparsing:

https://pypi.python.org/pypi/parse_apache_configs/

Имеет несколько грубых краев, но позволил мне добавить директивы и сохранить в новый файл.

Источник на https://github.com/alextricity25/parse_apache_configs

3 голосов
/ 26 октября 2008

Группа развивающихся технологий Red Hat имеет Augeas (написано на C, но с привязками Python) - универсальный инструмент конфигурации системы с «линзами» для чтения и записи нескольких различных форматов файлов конфигурации. Я хотел бы рассмотреть вопрос о наличии объектива для Apache.

1 голос
/ 16 мая 2012

Также выпущен один новый парсер.

В ней по-прежнему отсутствует документация, но она довольно проста для понимания.


Пример

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]
    }
)
1 голос
/ 26 октября 2008

Не существует библиотек Python, о которых я знаю, но вот 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.

Если вы переписываете его на Python, обновите ваш пост, чтобы упомянуть название вашего пакета на PyPI! :)

0 голосов
/ 26 октября 2008

ZConfig, я думаю, раньше поставлялся со схемой для разбора файлов конфигурации Apache; это больше не кажется, но он ориентирован на синтаксический анализ этих типов файлов и превращение конфигурации в объект Python. Беглый взгляд на документацию показывает, что не составит труда настроить схему ZConfig, соответствующую любым параметрам Apache, которые вы хотите проанализировать и проверить.

http://pypi.python.org/pypi/ZConfig/2.6.0

...