1.1 --- a/imiptools/data.py Sat Oct 07 00:39:09 2017 +0200
1.2 +++ b/imiptools/data.py Sat Oct 07 01:11:21 2017 +0200
1.3 @@ -166,6 +166,9 @@
1.4 def get_value(self, name):
1.5 return get_value(self.details, name)
1.6
1.7 + def set_value(self, name, value, attr=None):
1.8 + self.details[name] = [(value, attr or {})]
1.9 +
1.10 def get_utc_datetime(self, name, date_tzid=None):
1.11 return get_utc_datetime(self.details, name, date_tzid)
1.12
1.13 @@ -764,11 +767,22 @@
1.14 finally:
1.15 out.close()
1.16
1.17 -def new_object(object_type):
1.18 +def new_object(object_type, organiser=None, organiser_attr=None):
1.19 +
1.20 + """
1.21 + Make a new object of the given 'object_type' and optional 'organiser',
1.22 + with optional 'organiser_attr' describing any organiser identity in more
1.23 + detail.
1.24 + """
1.25
1.26 - "Make a new object of the given 'object_type'."
1.27 + details = {}
1.28
1.29 - return Object({object_type : ({}, {})})
1.30 + if organiser:
1.31 + details["UID"] = [(make_uid(organiser), {})]
1.32 + details["ORGANIZER"] = [(organiser, organiser_attr or {})]
1.33 + details["DTSTAMP"] = [(get_timestamp(), {})]
1.34 +
1.35 + return Object({object_type : (details, {})})
1.36
1.37 def make_uid(user):
1.38