nginxparser: essayez d'analyser le fichier de configuration nginx avec Python

nginxparser

Autres analyseurs

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

Essayer

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

Il semble que la modification de l'emplacement n'est pas prise en charge

nginx.py

--Activer / désactiver nginx.conf avec nginx dans le paquet Deiban -J'ai essayé d'utiliser un wrapper argparse bâclé appelé pycommand


#!/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: essayez d'analyser le fichier de configuration nginx avec Python
Fichier de configuration Nginx
Essayez de gratter avec Python.
Essayez la sortie Python avec Haxe 3.2
Dessiner un fichier netCDF avec python
Essayez d'exécuter Python avec Try Jupyter
Essayez la reconnaissance faciale avec Python
Télécharger le fichier csv avec python
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Essayez de gratter avec Python + Beautiful Soup
Extraire le fichier xz avec python
[Python] Ecrire dans un fichier csv avec Python
[Automatisé avec python! ] Partie 1: fichier de configuration
Téléchargement de fichiers implémenté avec Python + Bottle
Analyse CSS avec cssutils en Python
Essayez d'exploiter Facebook avec Python
Essayez la décomposition de valeurs singulières avec Python
Sortie vers un fichier csv avec Python
Essayez la reconnaissance faciale avec python + OpenCV
Essayez la simulation de contrôle de fréquence avec Python
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
L'idée d'alimenter le fichier de configuration avec un fichier python au lieu de yaml
Essayez d'ajouter un mur à votre fichier IFC avec IfcOpenShell python
Essayez de reproduire un film couleur avec Python
Créer un fichier power simple avec Python
Essayez de vous connecter à qiita avec Python
Contrôle exclusif avec fichier de verrouillage en Python
Essayez une formule utilisant Σ avec python
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Essayez de travailler avec des données binaires en Python
Vérifier l'existence du fichier avec python
Créez rapidement un fichier Excel avec Python #python
Essayez Python
Essayez d'utiliser Python avec Google Cloud Functions
Lisons le fichier RINEX avec Python ①
Créer un environnement Python + uWSGI + Nginx avec Docker
Créer un fichier Excel avec Python + matrice de similarité
Essayez le scraping HTML avec la bibliothèque Python
Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)
Essayez d'appeler Python depuis Ruby avec une économie
Essayez de réécrire le fichier avec la commande less
Essayez de dessiner une carte avec python + cartopy 0.18.0
[Suite] Essayez l'accès au registre PLC avec Python
Essayez d'attribuer ou de changer avec Python: lambda
[Pour les débutants] Essayez le web scraping avec Python
J'ai créé un fichier de configuration avec Python
[Automation] Lire le courrier (fichier msg) avec Python
Diviser le fichier mol2 avec python (-> 2016.04.17 prend également en charge le fichier sdf)
Comment lire un fichier CSV avec Python 2/3
Essayez-le avec JupyterLab en Python japonais Word Cloud.
Essayez d'exécuter Google Chrome avec Python et Selenium
Essayez de résoudre le diagramme homme-machine avec Python
Essayez de dessiner une courbe de vie avec python
[Python] Comment lire des fichiers Excel avec des pandas
Convertir un fichier svg en png / ico avec Python
Lire les données de la table dans un fichier PDF avec Python
Hello World avec nginx + uwsgi + python sur EC2
Essayez de créer un code de "décryptage" en Python
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
Essayez de générer automatiquement des documents Python avec Sphinx