# HG changeset patch # User Paul Boddie # Date 1418244116 -3600 # Node ID 4a7f257f384674ad778b796fa1e5bd1087628eef # Parent 39509f7669d4b88c29258645e144ee16483b769b Leave non-mailto URIs unprefixed; ensure SENT-BY properties are URIs. diff -r 39509f7669d4 -r 4a7f257f3846 imiptools/content.py --- a/imiptools/content.py Wed Dec 10 18:45:47 2014 +0100 +++ b/imiptools/content.py Wed Dec 10 21:41:56 2014 +0100 @@ -127,7 +127,7 @@ def get_uri(value): value = value.lower() - return value.startswith("mailto:") and value or "mailto:%s" % value + return ":" in value and value or "mailto:%s" % value def uri_dict(d): return dict([(get_uri(key), value) for key, value in d.items()]) @@ -455,7 +455,7 @@ identities.append(value) sent_by = attr.get("SENT-BY") if sent_by: - identities.append(sent_by) + identities.append(get_uri(sent_by)) return self.filter_by_senders(identities) diff -r 39509f7669d4 -r 4a7f257f3846 imiptools/handlers/person.py --- a/imiptools/handlers/person.py Wed Dec 10 18:45:47 2014 +0100 +++ b/imiptools/handlers/person.py Wed Dec 10 21:41:56 2014 +0100 @@ -58,6 +58,9 @@ obj = self.get_object(organiser, objtype) if obj and self.have_new_object(organiser, objtype, obj): + + # Get attendee details in a usable form. + attendee_map = uri_dict(self.get_value_map("ATTENDEE")) for attendee, attendee_attr in attendees.items(): diff -r 39509f7669d4 -r 4a7f257f3846 imiptools/handlers/person_outgoing.py --- a/imiptools/handlers/person_outgoing.py Wed Dec 10 18:45:47 2014 +0100 +++ b/imiptools/handlers/person_outgoing.py Wed Dec 10 21:41:56 2014 +0100 @@ -13,6 +13,9 @@ "Handling mechanisms specific to people." def _record(self, objtype, from_organiser=True, update_freebusy=False): + + # Get the identity of interest in a usable form. + identity, attr = uri_item(self.get_item(from_organiser and "ORGANIZER" or "ATTENDEE")) # Check for event using UID.