1.1 --- a/imiptools/data.py Mon Oct 16 23:21:15 2017 +0200
1.2 +++ b/imiptools/data.py Tue Oct 17 17:16:36 2017 +0200
1.3 @@ -138,21 +138,48 @@
1.4 def copy(self):
1.5 return Object(self.to_dict())
1.6
1.7 + # Access to (value, attributes) items.
1.8 +
1.9 def get_items(self, name, all=True):
1.10 return get_items(self.details, name, all)
1.11
1.12 def get_item(self, name):
1.13 return get_item(self.details, name)
1.14
1.15 + # Access to mappings.
1.16 +
1.17 def get_value_map(self, name):
1.18 return get_value_map(self.details, name)
1.19
1.20 + # Access to mapped values.
1.21 +
1.22 def get_values(self, name, all=True):
1.23 return get_values(self.details, name, all)
1.24
1.25 def get_value(self, name):
1.26 return get_value(self.details, name)
1.27
1.28 + # Convenience methods asserting URI values.
1.29 +
1.30 + def get_uri_items(self, name, all=True):
1.31 + return uri_items(self.get_items(name, all))
1.32 +
1.33 + def get_uri_item(self, name):
1.34 + return uri_item(self.get_item(name))
1.35 +
1.36 + def get_uri_map(self, name):
1.37 + return uri_dict(self.get_value_map(name))
1.38 +
1.39 + def get_uri_values(self, name):
1.40 + return uri_values(self.get_values(name))
1.41 +
1.42 + def get_uri_value(self, name):
1.43 + return uri_value(self.get_value(name))
1.44 +
1.45 + get_uri = get_uri_value
1.46 +
1.47 + # Access to details as temporal objects.
1.48 +
1.49 def get_utc_datetime(self, name, date_tzid=None):
1.50 return get_utc_datetime(self.details, name, date_tzid)
1.51
1.52 @@ -344,7 +371,7 @@
1.53 only_organiser and "ORG" or self.get_value("TRANSP") or "OPAQUE",
1.54 self.get_recurrenceid(),
1.55 self.get_value("SUMMARY"),
1.56 - get_uri(self.get_value("ORGANIZER"))
1.57 + self.get_uri("ORGANIZER")
1.58 )
1.59
1.60 def get_participation_status(self, participant):
1.61 @@ -354,8 +381,8 @@
1.62 special value "ORG" indicating organiser-only participation.
1.63 """
1.64
1.65 - attendees = uri_dict(self.get_value_map("ATTENDEE"))
1.66 - organiser = get_uri(self.get_value("ORGANIZER"))
1.67 + attendees = self.get_uri_map("ATTENDEE")
1.68 + organiser = self.get_uri("ORGANIZER")
1.69
1.70 attendee_attr = attendees.get(participant)
1.71 if attendee_attr: