#!/bin/bash /usr/scripts/python.sh # -*- coding: utf8 -*- # Script utilisé par l'intranet et autres pour ecrire le .forward dans le home # Executé avec un sudo # detraz@crans.org import argparse import os def getforward(user): """Bonjour, j'aurais pu être une docstring""" homedir = os.path.expanduser("~%s" % (user,)) if homedir == "~%s" % (user,): raise IOError("Le home de %r n'existe probablement pas." % (user,)) fwd = os.path.join(homedir, ".forward") try: with open(fwd, 'r') as forwardfile: mailredirect = forwardfile.readline().strip() except IOError: mailredirect = "" print mailredirect def writeforward(user, txt): """Bonjour, j'aurais pu être une docstring""" homedir = os.path.expanduser("~%s" % (user,)) if homedir == "~%s" % (user,): raise IOError("Le home de %r n'existe probablement pas." % (user,)) fwd = os.path.join(homedir, ".forward") with open(fwd, 'w') as forwardfile: forwardfile.write(txt) if __name__=="__main__": parser = argparse.ArgumentParser(description="Script qui, éventuellement appelé avec sudo, permet d'écrire dans le .forward de quelqu'un.", add_help=False) meh = parser.add_mutually_exclusive_group() parser.add_argument("-h", "--help", help="Affiche cette aide et quitte.", action="store_true") parser.add_argument("-m", "--mail", help="Mail d'utilisateur", type=str, action="store") parser.add_argument("-n", "--name", help="Nom d'utilisateur", type=str, action="store") meh.add_argument("-r", "--read", help="Lire", action="store_true") meh.add_argument("-w", "--write", help="Écrire", action="store_true") args = parser.parse_args() if args.read: getforward(args.name) elif args.write: writeforward(args.name, args.mail)