Mercurial > hg > Feedworm
diff Preferences.py @ 87:b8bfd1bd6c55
use a proxy if one is configured. TODO: GUI for configuring the proxy server
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Wed, 17 Nov 2010 21:22:31 +0100 |
parents | e8c2730eb444 |
children | 43c234c8fe87 |
line wrap: on
line diff
--- a/Preferences.py Thu Sep 09 16:47:38 2010 +0200 +++ b/Preferences.py Wed Nov 17 21:22:31 2010 +0100 @@ -2,26 +2,28 @@ from Preference import Preference import util +HIDE_READ_ENTRIES = "HIDE_READ_FEED_ENTRIES" +PROXY_HOST = "PROXY_HOST" +PROXY_PORT = "PROXY_PORT" +SHOW_ONLY_UNREAD_FEEDS = "SHOW_ONLY_UNREAD_FEEDS" START_MAXIMIZED = "START_MAXIMIZED" -HIDE_READ_ENTRIES = "HIDE_READ_FEED_ENTRIES" -SHOW_ONLY_UNREAD_FEEDS = "SHOW_ONLY_UNREAD_FEEDS" class Preferences(object): def __init__(self, session): self.session = session self.cache = {} - - def _cachedPreference(self, key, defaultValue=None): + + def _cachedPreference(self, key, defaultValue=None, addIfMissing=True): if self.cache.has_key(key): return self.cache[key] else: pref = Preference.forKey(key, self.session) - if pref is None: + if pref is None and addIfMissing: pref = Preference(key, str(defaultValue)) self.session.add(pref) - self.cache[key] = pref + self.cache[key] = pref return pref - + def startMaximized(self): pref = self._cachedPreference(START_MAXIMIZED, False) return util.str2bool(pref.value) @@ -33,15 +35,35 @@ def hideReadFeedEntries(self): pref = self._cachedPreference(HIDE_READ_ENTRIES, False) return util.str2bool(pref.value) - + def setHideReadFeedEntries(self, flag): pref = self._cachedPreference(HIDE_READ_ENTRIES) pref.value = util.bool2str(flag) - + def showOnlyUnreadFeeds(self): pref = self._cachedPreference(SHOW_ONLY_UNREAD_FEEDS, False) return util.str2bool(pref.value) - + def setShowOnlyUnreadFeeds(self, flag): pref = self._cachedPreference(SHOW_ONLY_UNREAD_FEEDS) pref.value = util.bool2str(flag) + + def proxyHost(self): + pref = self._cachedPreference(PROXY_HOST) + return pref.value + + def setProxyHost(self, hostname): + pref = self._cachedPreference(PROXY_HOST) + pref.value = hostname + + def proxyPort(self): + pref = self._cachedPreference(PROXY_PORT, 3128) + return int(pref.value) + + def setProxyPort(self, port): + pref = self._cachedPreference(PROXY_PORT) + pref.value = str(port) + + def isProxyConfigured(self): + pref = self._cachedPreference(PROXY_HOST, addIfMissing=False) + return pref is not None