scripts/gestion/spam_cablages.py
Daniel STAN 64988d2741 [spam_cablage] ajout des fichiers
Ignore-this: 9183ae6f46f7952242e55c6cf2d6e4c8
Ajout au dépot des deux scripts de rappel des câblages à effectuer.

darcs-hash:20120621090809-28565-528cb9e0ea29b5cfe93c5a6aa556718a10c312e9.gz
2012-06-21 11:08:09 +02:00

41 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python
# -!- encoding: utf-8 -!-
# SPAM_CABLAGES.PY -- Spamme respbats pour rappeler les cablages a effectuer
import psycopg2
from collections import defaultdict
TEMPLATE = u"""
Cablages a effectuer :
%(cablages)s
--\u0020
L'intranet du Cr@ns"""
TEMPLATE_BATIMENT = u"""
Batiment %(batiment)s
%(prises)s"""
def get_cablages():
"""Recupere la liste des cablages a effectuer"""
conn = psycopg2.connect("user=crans dbname=switchs host=pgsql.adm.crans.org")
cur = conn.cursor()
cur.execute("SELECT batiment, chambre, prise_crans FROM prises WHERE cablage_effectue = FALSE")
res = defaultdict(list)
for batiment, chambre, prise_crans in cur.fetchall():
res[batiment].append(chambre)
return res
CABLAGES = get_cablages()
if not CABLAGES:
exit(1)
CORPS_BATIMENTS = []
for batiment in sorted(CABLAGES.keys()):
ubatiment = batiment.upper()
prises = ", ".join(["%s%s" % (ubatiment, chambre) for chambre in sorted(CABLAGES[batiment])])
CORPS_BATIMENTS.append(TEMPLATE_BATIMENT % { "prises": prises, "batiment": ubatiment })
print (TEMPLATE % { "cablages": "".join(CORPS_BATIMENTS) })