nginxparser: Versuchen Sie, die nginx-Konfigurationsdatei mit Python zu analysieren

nginxparser

Andere Parser

install

$ pip install -e git+https://github.com/fatiherikli/nginxparser#egg=nginxparser
Obtaining nginxparser from git+https://github.com/fatiherikli/nginxparser#egg=nginxparser
  Cloning https://github.com/fatiherikli/nginxparser to /home/vagrant/.pyenv/versions/wordpress/src/nginxparser
Collecting pyparsing>=1.5.5 (from nginxparser)
  Downloading pyparsing-2.0.3-py2.py3-none-any.whl
Installing collected packages: pyparsing, nginxparser

  Running setup.py develop for nginxparser
    Creating /home/vagrant/.pyenv/versions/wordpress/lib/python2.7/site-packages/Nginxparser.egg-link (link to .)
    Adding Nginxparser 0.2 to easy-install.pth file
    Installed /home/vagrant/.pyenv/versions/wordpress/src/nginxparser
Successfully installed nginxparser pyparsing-2.0.3

Versuchen

>>> from nginxparser import load
>>> conf = load(open('nginx.conf'))
>>> type(conf)
<type 'list'>

Es scheint, dass die Änderung des Standorts nicht unterstützt wird

nginx.py


#!/usr/bin/env python                                                               
from nginxparser import load                                                        
import os                                                                           
from pycommand.command import Command, SubCommand                                   
                                                                                    
                                                                                    
def server_name(file):                                                              
    for i in load(open(file)):                                                      
        for j in (i[0] == ['server']) and i[1] or []:                               
            if j[0] == 'server_name':                                               
                return j[1]                                                         
    return None                                                                     
                                                                                    
                                                                                    
ARGS = [                                                                            
    (('file', ), dict(nargs='?', default='nginx.conf')),                            
]                                                                                   
                                                                                    
                                                                                    
class NginxCommand(Command):                                                        
                                                                                    
    class Enable(SubCommand):                                                       
        args = ARGS                                                                 
                                                                                    
        def run(self, param, **options):                                            
            cname = server_name(param.file)                                         
            print "sudo ln -s {0} /etc/nginx/site-enable/{1}".format(               
                os.path.abspath(param.file), cname)   
            print "mkdir run"                                                       
            print "mkdir logs"                                               
                                                                                    
    class Disable(SubCommand):                                                      
        args = ARGS                                                                 
                                                                                    
        def run(self, param, **options):                                            
            cname = server_name(param.file)                                         
            print "sudo unlink /etc/nginx/site-enable/{0}".format(cname)            
                                                                                    
if __name__ == '__main__':                                                          
    NginxCommand().run()                                    

Recommended Posts

nginxparser: Versuchen Sie, die nginx-Konfigurationsdatei mit Python zu analysieren
Nginx-Konfigurationsdatei
Versuchen Sie es mit Python.
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Zeichnen Sie eine netCDF-Datei mit Python
Versuchen Sie, Python mit Try Jupyter auszuführen
Versuchen Sie die Gesichtserkennung mit Python
Laden Sie die CSV-Datei mit Python herunter
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Versuchen Sie es mit Python + Beautiful Soup
Extrahieren Sie die xz-Datei mit Python
[Python] Mit Python in eine CSV-Datei schreiben
[Mit Python automatisiert! ] Teil 1: Datei einstellen
Implementierter Dateidownload mit Python + Bottle
CSS-Analyse mit cssutils in Python
Versuchen Sie, Facebook mit Python zu betreiben
Versuchen Sie die Singularwertzerlegung mit Python
Ausgabe in eine CSV-Datei mit Python
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Versuchen Sie die Frequenzsteuerungssimulation mit Python
[Mit Python automatisiert! ] Teil 2: Dateivorgang
Die Idee, die Konfigurationsdatei mit einer Python-Datei anstelle von yaml zu füttern
Versuchen Sie, Ihrer IFC-Datei mit IfcOpenShell Python eine Wand hinzuzufügen
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Erstellen einer einfachen Power-Datei mit Python
Versuchen Sie, sich mit Python bei qiita anzumelden
Exklusive Steuerung mit Sperrdatei in Python
Versuchen Sie eine Formel mit Σ mit Python
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Überprüfen Sie die Existenz der Datei mit Python
Erstellen Sie schnell eine Excel-Datei mit Python #python
Versuchen Sie Python
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Lesen wir die RINEX-Datei mit Python ①
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellen Sie eine Excel-Datei mit Python + Ähnlichkeitsmatrix
Versuchen Sie HTML-Scraping mit der Python-Bibliothek
Mit Python aufnehmen → Datei speichern (Soundgerät + Welle)
Versuchen Sie, Python von Ruby aus mit Sparsamkeit aufzurufen
Versuchen Sie, die Datei mit dem Befehl less neu zu schreiben
Versuchen Sie, eine Karte mit Python + Cartopy 0.18.0 zu zeichnen
[Fortsetzung] Versuchen Sie den Zugriff auf das SPS-Register mit Python
Versuchen Sie, Python: Lambda zuzuweisen oder zu wechseln
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Ich habe mit Python eine Einstellungsdatei erstellt
[Automatisierung] Lesen Sie E-Mails (Nachrichtendatei) mit Python
Mol2-Datei mit Python teilen (-> 17.04.2016. Unterstützt auch SDF-Datei)
Lesen einer CSV-Datei mit Python 2/3
Probieren Sie es mit Word Cloud Japanese Python JupyterLab.
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
[Python] Wie man Excel-Dateien mit Pandas liest
Konvertieren Sie die SVG-Datei mit Python in png / ico
Lesen Sie Tabellendaten in einer PDF-Datei mit Python
Hallo Welt mit Nginx + Uwsgi + Python auf EC2
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Entwickeln Sie Windows-Apps mit Python 3 + Tkinter (exe-Datei)
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren