Import initial

Script utilise par generate.py afin d'inscrire les machines exemptees dans
la base psql

darcs-hash:20051001113916-6d78a-691f194032b7b189d0c823b0d84273b38cbe1780.gz
This commit is contained in:
pessoles 2005-10-01 13:39:16 +02:00
parent 94f8855b9a
commit ada5bdd10b

49
gestion/gen_confs/exemptions.py Executable file
View file

@ -0,0 +1,49 @@
#! /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='rouge.adm.crans.org', 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()