1.1 --- a/imip_store.py Sat Mar 28 00:52:14 2015 +0100
1.2 +++ b/imip_store.py Sat Mar 28 00:55:12 2015 +0100
1.3 @@ -23,6 +23,7 @@
1.4 from imiptools.config import STORE_DIR, PUBLISH_DIR
1.5 from imiptools.data import make_calendar, parse_object, to_stream
1.6 from imiptools.filesys import fix_permissions, FileBase
1.7 +from imiptools.period import FreeBusyPeriod
1.8 from os.path import exists, isfile, join
1.9 from os import listdir, remove, rmdir
1.10 from time import sleep
1.11 @@ -316,7 +317,7 @@
1.12 if not filename or not exists(filename):
1.13 return []
1.14 else:
1.15 - return self._get_table(user, filename, [(4, None)])
1.16 + return map(lambda t: FreeBusyPeriod(*t), self._get_table(user, filename, [(4, None)]))
1.17
1.18 def get_freebusy_for_other(self, user, other):
1.19
1.20 @@ -326,7 +327,7 @@
1.21 if not filename or not exists(filename):
1.22 return []
1.23 else:
1.24 - return self._get_table(user, filename, [(4, None)])
1.25 + return map(lambda t: FreeBusyPeriod(*t), self._get_table(user, filename, [(4, None)]))
1.26
1.27 def set_freebusy(self, user, freebusy):
1.28
1.29 @@ -336,7 +337,8 @@
1.30 if not filename:
1.31 return False
1.32
1.33 - self._set_table(user, filename, freebusy, [(3, "OPAQUE"), (4, "")])
1.34 + self._set_table(user, filename, map(lambda fb: fb.as_tuple(), freebusy),
1.35 + [(3, "OPAQUE"), (4, "")])
1.36 return True
1.37
1.38 def set_freebusy_for_other(self, user, freebusy, other):
1.39 @@ -347,7 +349,8 @@
1.40 if not filename:
1.41 return False
1.42
1.43 - self._set_table(user, filename, freebusy, [(2, ""), (3, "OPAQUE"), (4, "")])
1.44 + self._set_table(user, filename, map(lambda fb: fb.as_tuple(), freebusy),
1.45 + [(2, ""), (3, "OPAQUE"), (4, "")])
1.46 return True
1.47
1.48 def _get_requests(self, user, queue):
1.49 @@ -515,9 +518,9 @@
1.50 rwrite(("UID", {}, user))
1.51 rwrite(("DTSTAMP", {}, datetime.utcnow().strftime("%Y%m%dT%H%M%SZ")))
1.52
1.53 - for start, end, uid, transp, recurrenceid, summary, organiser in freebusy:
1.54 - if not transp or transp == "OPAQUE":
1.55 - rwrite(("FREEBUSY", {"FBTYPE" : "BUSY"}, "/".join([start, end])))
1.56 + for fb in freebusy:
1.57 + if not fb.transp or fb.transp == "OPAQUE":
1.58 + rwrite(("FREEBUSY", {"FBTYPE" : "BUSY"}, "/".join([fb.start, fb.end])))
1.59
1.60 f = open(filename, "wb")
1.61 try: