On loggue les utilisateurs du digicode.

darcs-hash:20061011213612-68412-d623cb451865fe23dea27040fc4eb86eadad94b4.gz
This commit is contained in:
glondu 2006-10-11 23:36:12 +02:00
parent 484f83120a
commit a64662f734

View file

@ -8,7 +8,7 @@ Script de test du code de la porte du local de l'imprimante
import os, sys
from syslog import openlog, syslog
def identification ( password ) :
def identification(password):
# test un code entré sur la porte :
# doit retourner 0 si le code n'est pas bon
# 1 pour ouvrir la porte
@ -16,28 +16,33 @@ def identification ( password ) :
#codes en statique pour les tests
#Dans l'avenir tout sera sous forme de fichiers
#si le fichier existe le code est bon (evite les problemes par rapport au fait de
# stocker les codes dans un fichier
# stocker les codes dans un fichier
try:
user = file("/var/impression/codes/%s" % password).readline().strip()
except:
user = ""
if password in os.listdir('/var/impression/codes'):
if password in os.listdir('/var/impression/codes'):
os.remove("/var/impression/codes/%s" %password)
return 1
else :
return 0
return user, True
else:
return "", False
if __name__ == '__main__' :
openlog("digicode")
# on récupère le code dans les variables d'environement
try :
code = os.getenv('USER_PASSWORD','').replace('"','')
except :
try:
code = os.getenv('USER_PASSWORD', '').replace('"', '')
except:
code = ''
# test de l'authentification
if identification(code) :
user, ok = identification(code)
if ok:
# c'est bon
syslog("code %s correct" % code)
syslog("code %s [%s] correct" % (code, user))
sys.exit(0)
else :
else:
# c'est pas bon
syslog("code %s incorrect" % code)
sys.exit(1)