# HG changeset patch # User Paul Boddie # Date 1423491075 -3600 # Node ID a3f1b894edca239b04368a32be03d12df2e5b3b4 # Parent 8d0c013ef5277eb38d58bbe39c9febaec0c7cb00 Made get_event return a parsed object instead of a file object. diff -r 8d0c013ef527 -r a3f1b894edca imip_manager.py --- a/imip_manager.py Mon Feb 09 14:37:21 2015 +0100 +++ b/imip_manager.py Mon Feb 09 15:11:15 2015 +0100 @@ -31,8 +31,7 @@ sys.path.append(LIBRARY_PATH) from imiptools.content import Handler -from imiptools.data import get_address, get_uri, make_freebusy, parse_object, \ - Object, to_part +from imiptools.data import get_address, get_uri, make_freebusy, Object, to_part from imiptools.dates import format_datetime, format_time, get_date, get_datetime, \ get_datetime_item, get_default_timezone, \ get_end_of_day, get_start_of_day, get_start_of_next_day, \ @@ -256,14 +255,8 @@ if self.objects.has_key(uid): return self.objects[uid] - f = uid and self.store.get_event(self.user, uid) or None - - if not f: - return None - - fragment = parse_object(f, "utf-8") + fragment = uid and self.store.get_event(self.user, uid) or None obj = self.objects[uid] = fragment and Object(fragment) - return obj def _get_requests(self): diff -r 8d0c013ef527 -r a3f1b894edca imip_store.py --- a/imip_store.py Mon Feb 09 14:37:21 2015 +0100 +++ b/imip_store.py Mon Feb 09 15:11:15 2015 +0100 @@ -21,7 +21,7 @@ from datetime import datetime from imiptools.config import STORE_DIR, PUBLISH_DIR -from imiptools.data import make_calendar, to_stream +from imiptools.data import make_calendar, parse_object, to_stream from imiptools.filesys import fix_permissions, FileBase from os.path import exists, isfile, join from os import listdir, remove @@ -51,7 +51,11 @@ if not filename or not exists(filename): return None - return open(filename) or None + f = open(filename, "rb") + try: + return parse_object(f, "utf-8") + finally: + f.close() def set_event(self, user, uid, node): diff -r 8d0c013ef527 -r a3f1b894edca imiptools/content.py --- a/imiptools/content.py Mon Feb 09 14:37:21 2015 +0100 +++ b/imiptools/content.py Mon Feb 09 15:11:15 2015 +0100 @@ -334,8 +334,7 @@ given 'user' and for the given 'objtype'. """ - f = self.store.get_event(user, self.uid) - fragment = f and parse_object(f, "utf-8") + fragment = self.store.get_event(user, self.uid) return fragment and Object(fragment) def have_new_object(self, attendee, obj=None):