aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/shorturl.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/modules/shorturl.py b/modules/shorturl.py
index 4959b53a..e4890ecf 100644
--- a/modules/shorturl.py
+++ b/modules/shorturl.py
@@ -6,10 +6,6 @@ from src import ModuleManager, utils
URL_BITLYSHORTEN = "https://api-ssl.bitly.com/v3/shorten"
-@utils.export("serverset", utils.Setting("url-shortener",
- "Set URL shortener service", example="bitly"))
-@utils.export("botset", utils.Setting("url-shortener",
- "Set URL shortener service", example="bitly"))
class Module(ModuleManager.BaseModule):
def on_load(self):
self.exports.add("shorturl", self._shorturl)
@@ -17,6 +13,16 @@ class Module(ModuleManager.BaseModule):
self.exports.add("shorturl-s-bitly", self._bitly)
+ setting = utils.OptionsSetting("url-shortener",
+ "Set URL shortener service",
+ options_factory=self._shorturl_options_factory)
+ self.exports.add("serverset", setting)
+ self.exports.add("botset", setting)
+
+ def _shorturl_options_factory(self):
+ shorteners = self.exports.find("shorturl-s-")
+ return [s.replace("shorturl-s-", "", 1) for s in shorteners]
+
def _get_shortener(self, name):
return self.exports.get_one("shorturl-s-%s" % name, None)
def _call_shortener(self, shortener_name, url):