+def address_or_alias(addr_str):
+ """Return the address if it contains an e-mail address or look up
+ the aliases in the config files.
+ """
+ def __address_or_alias(addr):
+ if addr.find('@') >= 0:
+ # it's an e-mail address
+ return addr
+ alias = config.get('mail.alias.'+addr)
+ if alias:
+ # it's an alias
+ return alias
+
+ raise CmdException, 'unknown e-mail alias: %s' % addr
+
+ addr_list = [__address_or_alias(addr.strip())
+ for addr in addr_str.split(',')]
+ return ', '.join(addr_list)
+