From 7651970eea68ae68f696c4f965d8d533d57ae254 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Thu, 6 Oct 2005 12:40:30 +0000 Subject: [PATCH] qmail-valid-addresses: Cope with missing files. It's not an error for the virtualdomains or locals files to be missing, so cope if we can't find them. --- qmail-valid-addresses | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/qmail-valid-addresses b/qmail-valid-addresses index b77be52..9821394 100644 --- a/qmail-valid-addresses +++ b/qmail-valid-addresses @@ -2,6 +2,7 @@ import os import cdb +from errno import * def sort(l): l = [] + l @@ -66,16 +67,27 @@ for k in sort(umap.keys()): else: addlocal(os.path.join(u.home, qm), u.name, u.dash == '') -for dom in open('control/locals'): - if len(dom) and dom[-1] == '\n': - dom = dom[:-1] - map['@' + dom] = '' +me = open('control/me').readline() -for v in open('control/virtualdomains'): - if len(v) and v[-1] == '\n': - v = v[:-1] - (addr, pre) = v.split(':', 2) - map['V' + addr] = pre +try: + for dom in open('control/locals'): + if len(dom) and dom[-1] == '\n': + dom = dom[:-1] + map['@' + dom] = '' +except IOError, exc: + if exc.errno != ENOENT: + raise + map['@' + me] = '' + +try: + for v in open('control/virtualdomains'): + if len(v) and v[-1] == '\n': + v = v[:-1] + (addr, pre) = v.split(':', 2) + map['V' + addr] = pre +except IOError, exc: + if exc.errno != ENOENT: + raise for l in sort(map.keys()): print '%s:%s' % (l, map[l]) -- 2.11.0