1.1 --- a/imiptools/data.py Tue Sep 08 12:21:58 2015 +0200
1.2 +++ b/imiptools/data.py Wed Sep 09 17:40:15 2015 +0200
1.3 @@ -562,7 +562,7 @@
1.4 """
1.5
1.6 if d.has_key(name):
1.7 - items = d[name]
1.8 + items = [(value or None, attr) for value, attr in d[name]]
1.9 if all:
1.10 return items
1.11 elif len(items) == 1:
1.12 @@ -682,11 +682,15 @@
1.13 return [address for name, address in email.utils.getaddresses(values)]
1.14
1.15 def get_address(value):
1.16 + if not value: return None
1.17 value = value.lower()
1.18 return value.startswith("mailto:") and value[7:] or value
1.19
1.20 def get_uri(value):
1.21 - return value.lower().startswith("mailto:") and value.lower() or ":" in value and value or "mailto:%s" % value.lower()
1.22 + if not value: return None
1.23 + return value.lower().startswith("mailto:") and value.lower() or \
1.24 + ":" in value and value or \
1.25 + "mailto:%s" % value.lower()
1.26
1.27 uri_value = get_uri
1.28
2.1 --- a/imiptools/handlers/__init__.py Tue Sep 08 12:21:58 2015 +0200
2.2 +++ b/imiptools/handlers/__init__.py Wed Sep 09 17:40:15 2015 +0200
2.3 @@ -143,7 +143,10 @@
2.4 The organiser identity is normalized.
2.5 """
2.6
2.7 - organiser_item = uri_item(self.obj.get_item("ORGANIZER"))
2.8 + organiser, organiser_attr = organiser_item = uri_item(self.obj.get_item("ORGANIZER"))
2.9 +
2.10 + if not organiser:
2.11 + return None
2.12
2.13 # Only provide details for an organiser who sent/receives the message.
2.14
2.15 @@ -171,7 +174,8 @@
2.16
2.17 attendees = {}
2.18 for attendee in attendee_filter_fn(attendee_map):
2.19 - attendees[attendee] = attendee_map[attendee]
2.20 + if attendee:
2.21 + attendees[attendee] = attendee_map[attendee]
2.22
2.23 return attendees
2.24