1.1 --- a/imiptools/client.py Tue Mar 31 19:07:43 2015 +0200
1.2 +++ b/imiptools/client.py Tue Mar 31 19:09:11 2015 +0200
1.3 @@ -65,33 +65,41 @@
1.4
1.5 "Common handler and manager methods."
1.6
1.7 + default_window_size = 100
1.8 +
1.9 def __init__(self, user):
1.10 self.user = user
1.11 self.preferences = None
1.12
1.13 def get_preferences(self):
1.14 - if not self.preferences:
1.15 + if not self.preferences and self.user:
1.16 self.preferences = Preferences(self.user)
1.17 return self.preferences
1.18
1.19 def get_tzid(self):
1.20 prefs = self.get_preferences()
1.21 - return prefs.get("TZID") or get_default_timezone()
1.22 + return prefs and prefs.get("TZID") or get_default_timezone()
1.23
1.24 def get_window_size(self):
1.25 prefs = self.get_preferences()
1.26 try:
1.27 - return int(prefs.get("window_size"))
1.28 + return prefs and int(prefs.get("window_size")) or self.default_window_size
1.29 except (TypeError, ValueError):
1.30 - return 100
1.31 + return self.default_window_size
1.32
1.33 def get_window_end(self):
1.34 return get_window_end(self.get_tzid(), self.get_window_size())
1.35
1.36 def is_sharing(self):
1.37 - return self.get_preferences().get("freebusy_sharing") == "share"
1.38 + prefs = self.get_preferences()
1.39 + return prefs and prefs.get("freebusy_sharing") == "share" or False
1.40
1.41 def is_bundling(self):
1.42 - return self.get_preferences().get("freebusy_bundling") == "always"
1.43 + prefs = self.get_preferences()
1.44 + return prefs and prefs.get("freebusy_bundling") == "always" or False
1.45 +
1.46 + def is_notifying(self):
1.47 + prefs = self.get_preferences()
1.48 + return prefs and prefs.get("freebusy_messages") == "notify" or False
1.49
1.50 # vim: tabstop=4 expandtab shiftwidth=4