# HG changeset patch # User Paul Boddie # Date 1437868884 -7200 # Node ID f75086354aa76f9c6fe1b76dd39045296e406af2 # Parent ef9992ae1c6e8c78996f62df31639e43e8692a15 Recognise multiple identities sharing a common SENT-BY address. diff -r ef9992ae1c6e -r f75086354aa7 imiptools/handlers/__init__.py --- a/imiptools/handlers/__init__.py Sun Jul 26 01:59:34 2015 +0200 +++ b/imiptools/handlers/__init__.py Sun Jul 26 02:01:24 2015 +0200 @@ -242,7 +242,7 @@ # Return the true identities. - return [identities[get_uri(address)] for address in valid] + return reduce(lambda a, b: a + b, [identities[get_uri(address)] for address in valid]) else: return mapping @@ -330,9 +330,14 @@ for value, attr in mapping.items(): sent_by = attr.get("SENT-BY") if sent_by: - senders[get_uri(sent_by)] = value + sender = get_uri(sent_by) else: - senders[value] = value + sender = value + + if not senders.has_key(sender): + senders[sender] = [] + + senders[sender].append(value) return senders