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

View file

@ -103,9 +103,19 @@ else :
# Lecture sur stdin # Lecture sur stdin
entree = sys.stdin entree = sys.stdin
#recuperation du nom de l'utilisateur # Recuperation du nom de l'utilisateur
user=sys.argv[2] #user=sys.argv[2] #On ne fait pas comme ca, car samba passe l'utilisateur root
#recuperation de l'adherent en écriture 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'] res=base.search("login=%s"%user,'w')['adherent']
#si on ne trouve rien #si on ne trouve rien
if len(res) != 1 : if len(res) != 1 :