scripts/gestion/gen_confs/exemptions.py
bernat 37b21339a6 Detabification massive.
darcs-hash:20051018083823-d1718-09c2df38cfb707d3c3679188b9b9a812009f4f7c.gz
2005-10-18 10:38:23 +02:00

49 lines
1.4 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()