diff --git a/gestion/forward.py b/gestion/forward.py index de89f201..4b6850c2 100755 --- a/gestion/forward.py +++ b/gestion/forward.py @@ -29,58 +29,52 @@ import lc_ldap.shortcuts import lc_ldap.printing import lc_ldap.filter2 as filter - -if __name__ == '__main__': -# Lecture de la redirection courante - def redirection_read(uid): - forward = open(os.path.expanduser('~%s/.forward' %uid) ,'r') +def redirection_read(uid): + """ Lecture de la redirection courante""" + forward = open(os.path.expanduser('~%s/.forward' %uid) ,'r') print forward.read() forward.close() - return -# Modification de la redirection - def redirection_write(ligne,uid): + +def redirection_write(ligne,uid): + """ Modification de la redirection""" forward = open(os.path.expanduser('~%s/.forward' %uid),'w') forward.write('%s' %ligne) forward.close() - return -# On reprends whos_lc() de Valentin +if __name__ == '__main__': + + # On reprends whos_lc() de Valentin if len(sys.argv) >1: conn=lc_ldap.shortcuts.lc_ldap_admin() result=conn.search(filter.human_to_ldap(sys.argv[1]), sizelimit=4000) if not result: print "Aucun résultat !" - exit() - else: - if len(result) == 1: - if len(result[0].get(u'droits',None))==0: - result[0].display() - uid=result[0].get(u'uid',None)[0].value - if len(result[0].get(u'droits',None))!=0: + exit() + elif len(result) > 1: + print lc_ldap.printing.sprint_list(result) + print "%s résultats" % len(result) + exit() + elif result[0].get(u'droits',None): print 'Membre actif !' exit() - else: - print lc_ldap.printing.sprint_list(result) - print "%s résultats" % len(result) - exit() + else: + result[0].display() + uid=result[0].get(u'uid',None)[0].value else: sys.stderr.write("Utiliser les filtres ldap: uid=, chbre= etc..") - exit() - -r = affich_tools.prompt(u'Confirmer sélection ? [O/N]') -if r == 'O' or r == 'o': - print "Redirection actuelle:" - redirection_read(uid) - y = affich_tools.prompt(u'Modifier cette redirection ? [O/N]') - if y == 'O' or y == 'o': - ligne = affich_tools.prompt(u'Nouvelle redirection:') - redirection_write(ligne,uid) - print 'Redirection effectuée !' - elif y == 'N' or y == 'n': exit() -elif r == 'N' or r == 'n': - exit() - - + r = affich_tools.prompt(u'Confirmer sélection ? [O/N]') + if r == 'O' or r == 'o': + print "Redirection actuelle:" + redirection_read(uid) + y = affich_tools.prompt(u'Modifier cette redirection ? [O/N]') + if y == 'O' or y == 'o': + ligne = affich_tools.prompt(u'Nouvelle redirection:') + redirection_write(ligne,uid) + print 'Redirection effectuée !' + elif y == 'N' or y == 'n': + exit() + elif r == 'N' or r == 'n': + exit()