diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/shorturl.py | 14 |
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): |
