aboutsummaryrefslogtreecommitdiff
path: root/modules/rss.py
diff options
context:
space:
mode:
authorGravatar jesopo2020-04-09 15:47:20 +0100
committerGravatar jesopo2020-04-09 15:47:20 +0100
commitb19e956f680a1795aa1506e99bf421944a58b8bc (patch)
tree95006256cf0bf64855ff0261a74709c7238884fa /modules/rss.py
parentfix regression of message filters not matching without formatting (diff)
signature
experimental support for rss bindhost
Diffstat (limited to 'modules/rss.py')
-rw-r--r--modules/rss.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/rss.py b/modules/rss.py
index 56491298..f597e3dc 100644
--- a/modules/rss.py
+++ b/modules/rss.py
@@ -7,10 +7,15 @@ import feedparser
RSS_INTERVAL = 60 # 1 minute
+SETTING_BIND = utils.Setting("rss-bindhost",
+ "Which local address to bind to for RSS requests", example="127.0.0.1")
+
@utils.export("botset", utils.IntSetting("rss-interval",
"Interval (in seconds) between RSS polls", example="120"))
@utils.export("channelset", utils.BoolSetting("rss-shorten",
"Whether or not to shorten RSS urls"))
+@utils.export("serverset", SETTING_BIND)
+@utils.export("channelset", SETTING_BIND)
class Module(ModuleManager.BaseModule):
_name = "RSS"
def on_load(self):
@@ -57,8 +62,10 @@ class Module(ModuleManager.BaseModule):
return
requests = []
- for url in hooks.keys():
- requests.append(utils.http.Request(url, id=url))
+ for url, (server, channel) in hooks.items():
+ bindhost = channel.get_setting("rss-bindhost",
+ server.get_setting("rss-bindhost", None))
+ requests.append(utils.http.Request(url, id=url, bindhost=bindhost))
pages = utils.http.request_many(requests)