classe impression refaite en plus propre.

darcs-hash:20061007134050-f46e9-c19b8c477905c7a3077668ca02851775b929e8bf.gz
This commit is contained in:
gdetrez 2006-10-07 15:40:50 +02:00
parent 5a081adeea
commit 210092c2d6
3 changed files with 556 additions and 0 deletions

View file

@ -0,0 +1,59 @@
# #############################################################
# ..
# .... ............ ........
# . ....... . .... ..
# . ... .. .. .. .. ..... . ..
# .. .. ....@@@. .. . ........ .
# .. . .. ..@.@@..@@. .@@@@@@@ @@@@@@. ....
# .@@@@. .@@@@. .@@@@..@@.@@..@@@..@@@..@@@@.... ....
# @@@@... .@@@.. @@ @@ .@..@@..@@...@@@. .@@@@@. ..
# .@@@.. . @@@. @@.@@..@@.@@..@@@ @@ .@@@@@@.. .....
# ...@@@.... @@@ .@@.......... ........ ..... ..
# . ..@@@@.. . .@@@@. .. ....... . .............
# . .. .... .. .. . ... ....
# . . .... ............. .. ...
# .. .. ... ........ ... ...
# ................................
#
# #############################################################
# digicode.py
#
# Fonctions pour controler le digicode du 4@J
#
# Copyright (c) 2006 by www.crans.org
# #############################################################
import sys, time, tempfile, os, commands, string, random
def __init__():
pass
def gen_code(user_name):
""" Genere le code et l'enregistre dans /var/impression/codes pour radius """
# Generation du code et ecriture du code
rand=random.Random()
# Graine automatique avec le temps
rand.seed()
for i in range(1000):
# On genere un code
code = rand.randint(100000, 999999)
# Si le code est libre, on sort de la boucle
if not os.path.exists("/var/impression/codes/%d" % code):
break
else:
# Pas de code disponible
print ("ERROR: Il n'y a pas de code disponible" )
sys.stderr.write ("ERROR: Il n'y a pas de code disponible" )
try:
sys.stderr.write("DEBUG: Un rapport de bug a ete automatiquement envoye.\n")
except:
sys.stderr.write("ERROR: Impossible d'envoyer le rapport de bug.\n")
sys.stderr.write("ERROR: Plus de codes disponibles.\n")
sys.stderr.write("ERROR: Penser a ouvrir a l'adherent debite...\n")
return
# On enregistre le fichier avec le code pour numero
codefichier = open("/var/impression/codes/%d" % code, 'w')
codefichier.write("Utilisateur %s\n" % user_name)
codefichier.close()
return code