imip-agent

Changeset

130:4a7f257f3846
2014-12-10 Paul Boddie raw files shortlog changelog graph Leave non-mailto URIs unprefixed; ensure SENT-BY properties are URIs.
imiptools/content.py (file) imiptools/handlers/person.py (file) imiptools/handlers/person_outgoing.py (file)
     1.1 --- a/imiptools/content.py	Wed Dec 10 18:45:47 2014 +0100
     1.2 +++ b/imiptools/content.py	Wed Dec 10 21:41:56 2014 +0100
     1.3 @@ -127,7 +127,7 @@
     1.4  
     1.5  def get_uri(value):
     1.6      value = value.lower()
     1.7 -    return value.startswith("mailto:") and value or "mailto:%s" % value
     1.8 +    return ":" in value and value or "mailto:%s" % value
     1.9  
    1.10  def uri_dict(d):
    1.11      return dict([(get_uri(key), value) for key, value in d.items()])
    1.12 @@ -455,7 +455,7 @@
    1.13              identities.append(value)
    1.14              sent_by = attr.get("SENT-BY")
    1.15              if sent_by:
    1.16 -                identities.append(sent_by)
    1.17 +                identities.append(get_uri(sent_by))
    1.18  
    1.19          return self.filter_by_senders(identities)
    1.20  
     2.1 --- a/imiptools/handlers/person.py	Wed Dec 10 18:45:47 2014 +0100
     2.2 +++ b/imiptools/handlers/person.py	Wed Dec 10 21:41:56 2014 +0100
     2.3 @@ -58,6 +58,9 @@
     2.4              obj = self.get_object(organiser, objtype)
     2.5  
     2.6              if obj and self.have_new_object(organiser, objtype, obj):
     2.7 +
     2.8 +                # Get attendee details in a usable form.
     2.9 +
    2.10                  attendee_map = uri_dict(self.get_value_map("ATTENDEE"))
    2.11  
    2.12                  for attendee, attendee_attr in attendees.items():
     3.1 --- a/imiptools/handlers/person_outgoing.py	Wed Dec 10 18:45:47 2014 +0100
     3.2 +++ b/imiptools/handlers/person_outgoing.py	Wed Dec 10 21:41:56 2014 +0100
     3.3 @@ -13,6 +13,9 @@
     3.4      "Handling mechanisms specific to people."
     3.5  
     3.6      def _record(self, objtype, from_organiser=True, update_freebusy=False):
     3.7 +
     3.8 +        # Get the identity of interest in a usable form.
     3.9 +
    3.10          identity, attr = uri_item(self.get_item(from_organiser and "ORGANIZER" or "ATTENDEE"))
    3.11  
    3.12          # Check for event using UID.