scripts/gestion/gen_confs/exemptions.py
chove 0d5ff27d1f utilisation de la socket
darcs-hash:20051002113150-4ec08-f4a052a8310fc760f102513c4b86d29e2b602b6e.gz
2005-10-02 13:31:50 +02:00

49 lines
1.2 KiB
Python
Executable file

#! /usr/bin/env python
# -*- coding: iso-8859-15 -*-
"""
Classe de synchronisation entre la base ldap et
la base postgresql pour la liste des exemptions
Utilisé par generate.py
"""
# importation des fonctions et classes
import sys, os, commands
sys.path.append('/usr/scripts/gestion')
from ldap_crans import crans_ldap
from gen_confs import gen_config
from pyPgSQL import PgSQL
# définition de la classe
class exemptions(gen_config) :
base=[('138.231.136.0/28','0.0.0.0/0'),('138.231.136.0/21','138.231.0.0/16'),('138.231.148.0/22','138.231.0.0/16')]
restart_cmd = ""
def __str__ (self) :
return "exemptions"
def _gen (self) :
machines = crans_ldap().search('exempt=*')['machine']
pgsql = PgSQL.connect(host='/var/run/postgresql', database='filtrage', user='crans')
curseur = pgsql.cursor()
requete="DELETE FROM exemptes"
curseur.execute(requete)
for couple in self.base :
requete="INSERT INTO exemptes (ip_crans,ip_dest) VALUES ('%s','%s')" % (couple[0],couple[1])
curseur.execute(requete)
for machine in machines :
for destination in machine.exempt() :
requete="INSERT INTO exemptes (ip_crans,ip_dest) VALUES ('%s','%s')" % (machine.ip(),destination)
curseur.execute(requete)
pgsql.commit()