# HG changeset patch # User Paul Boddie # Date 1427821751 -7200 # Node ID dd4e2cdb39b460bf0113c0990728864eb5242609 # Parent 8d2dfe43b6293960aaa045368e38667a5d0aef32 Made Client work with a null user; added more preference methods; made the default window size a class attribute. diff -r 8d2dfe43b629 -r dd4e2cdb39b4 imiptools/client.py --- a/imiptools/client.py Tue Mar 31 19:07:43 2015 +0200 +++ b/imiptools/client.py Tue Mar 31 19:09:11 2015 +0200 @@ -65,33 +65,41 @@ "Common handler and manager methods." + default_window_size = 100 + def __init__(self, user): self.user = user self.preferences = None def get_preferences(self): - if not self.preferences: + if not self.preferences and self.user: self.preferences = Preferences(self.user) return self.preferences def get_tzid(self): prefs = self.get_preferences() - return prefs.get("TZID") or get_default_timezone() + return prefs and prefs.get("TZID") or get_default_timezone() def get_window_size(self): prefs = self.get_preferences() try: - return int(prefs.get("window_size")) + return prefs and int(prefs.get("window_size")) or self.default_window_size except (TypeError, ValueError): - return 100 + return self.default_window_size def get_window_end(self): return get_window_end(self.get_tzid(), self.get_window_size()) def is_sharing(self): - return self.get_preferences().get("freebusy_sharing") == "share" + prefs = self.get_preferences() + return prefs and prefs.get("freebusy_sharing") == "share" or False def is_bundling(self): - return self.get_preferences().get("freebusy_bundling") == "always" + prefs = self.get_preferences() + return prefs and prefs.get("freebusy_bundling") == "always" or False + + def is_notifying(self): + prefs = self.get_preferences() + return prefs and prefs.get("freebusy_messages") == "notify" or False # vim: tabstop=4 expandtab shiftwidth=4