1.1 --- a/imiptools/client.py Sat Sep 12 19:58:59 2015 +0200
1.2 +++ b/imiptools/client.py Sat Sep 12 20:16:38 2015 +0200
1.3 @@ -59,6 +59,16 @@
1.4 self.preferences_dir = preferences_dir
1.5 self.preferences = None
1.6
1.7 + # Store-related methods.
1.8 +
1.9 + def acquire_lock(self):
1.10 + self.store.acquire_lock(self.user)
1.11 +
1.12 + def release_lock(self):
1.13 + self.store.release_lock(self.user)
1.14 +
1.15 + # Preferences-related methods.
1.16 +
1.17 def get_preferences(self):
1.18 if not self.preferences and self.user:
1.19 self.preferences = Preferences(self.user, self.preferences_dir)
1.20 @@ -673,17 +683,18 @@
1.21 if user == self.user:
1.22 return
1.23
1.24 - freebusy = self.store.get_freebusy_for_other_for_update(self.user, user)
1.25 + self.acquire_lock()
1.26 try:
1.27 + freebusy = self.store.get_freebusy_for_other(self.user, user)
1.28 fn(freebusy, user, for_organiser, True)
1.29
1.30 # Tidy up any obsolete recurrences.
1.31
1.32 self.remove_freebusy_for_recurrences(freebusy, self.store.get_recurrences(self.user, self.uid))
1.33 - self.store.set_freebusy_for_other_in_update(self.user, freebusy, user)
1.34 + self.store.set_freebusy_for_other(self.user, freebusy, user)
1.35
1.36 finally:
1.37 - self.store.release_freebusy(self.user)
1.38 + self.release_lock()
1.39
1.40 def update_freebusy_from_organiser(self, organiser):
1.41