scripts/utils/forward.py
2015-09-10 16:22:13 +02:00

51 lines
1.8 KiB
Python
Executable file

#!/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)