diff --git a/utils/forward.py b/utils/forward.py index b7362597..575af1ba 100755 --- a/utils/forward.py +++ b/utils/forward.py @@ -5,20 +5,35 @@ # 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: - mailredirect = open('/home/%s/.forward' % (user,)).readlines()[0] + with open(fwd, 'r') as forwardfile: + mailredirect = forwardfile.readline().strip() except IOError: mailredirect = "" print mailredirect - return -def writeforward(user,txt): +def writeforward(user, txt): """Bonjour, j'aurais pu être une docstring""" - open('/home/%s/.forward' % (user,), 'w').write(txt) - return + + 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)