Rcupration de l'utilisateur rel de cups en parsant son spool.

On ne peut pas utiliser le 2me argument pass au backend car en mode
authentifi Samba fournit root plutot que de faire suivre l'utilisateur
connect  Samba.

darcs-hash:20050616091142-061a7-4047755bb27376e46c05548d3ac06e2aac9c697b.gz
This commit is contained in:
rozel 2005-06-16 11:11:42 +02:00
parent bc7fab26cd
commit 9b12d8f960
2 changed files with 27 additions and 18 deletions

View file

@ -7,7 +7,7 @@
import sys
sys.path.append('/usr/scripts/impression')
#from ipp import IPPMessage
from ipp import IPPMessage
import couts
sys.path.append('/usr/scripts/gestion')
from config import impression
@ -63,20 +63,19 @@ while ligne:
ligne = entree.readline()
fic.flush()
# Récupérer l'IP
#if len(sys.argv[1]) < 5 :
# fichier_ipp = "c%05i" % int(sys.argv[1])
#else:
# fichier_ipp = "c%s" % sys.argv[1]
#
#try:
# message = IPPMessage(open('/var/spool/cups/%s' % fichier_ipp).read())
#except:
# sys.stderr.write("Ne peut pas ouvrir/parser le fichier /var/spool/cups/%s" % fichier_ipp)
# Recuperation du nom de l'utilisateur
#user=sys.argv[2] #On ne fait pas comme ca, car samba passe l'utilisateur root
if len(sys.argv[1]) < 5 :
fichier_ipp = "c%05i" % int(sys.argv[1])
else:
fichier_ipp = "c%s" % sys.argv[1]
try:
message = IPPMessage(open('/var/spool/cups/%s' % fichier_ipp).read())
except:
sys.stderr.write("ERROR: Erreur : Ne peut pas ouvrir/parser le fichier /var/spool/cups/%s" % fichier_ipp)
user=message["job-originating-user-name"]
#recuperation du nom de l'utilisateur
user=sys.argv[2]
#recuperation de l'adherent
# Recuperation de l'adherent
base = crans_ldap()
res=base.search("login=%s"%user)['adherent']
#si on ne trouve rien

View file

@ -103,9 +103,19 @@ else :
# Lecture sur stdin
entree = sys.stdin
#recuperation du nom de l'utilisateur
user=sys.argv[2]
#recuperation de l'adherent en écriture
# Recuperation du nom de l'utilisateur
#user=sys.argv[2] #On ne fait pas comme ca, car samba passe l'utilisateur root
if len(sys.argv[1]) < 5 :
fichier_ipp = "c%05i" % int(sys.argv[1])
else:
fichier_ipp = "c%s" % sys.argv[1]
try:
message = IPPMessage(open('/var/spool/cups/%s' % fichier_ipp).read())
except:
sys.stderr.write("ERROR: Erreur : Ne peut pas ouvrir/parser le fichier /var/spool/cups/%s" % fichier_ipp)
user=message["job-originating-user-name"]
# Recuperation de l'adherent en écriture
res=base.search("login=%s"%user,'w')['adherent']
#si on ne trouve rien
if len(res) != 1 :