diff --git a/modules/fediverse/__init__.py b/modules/fediverse/__init__.py index c1279eb7..aefd966e 100644 --- a/modules/fediverse/__init__.py +++ b/modules/fediverse/__init__.py @@ -95,7 +95,7 @@ class Module(ModuleManager.BaseModule): note = note["object"] cw, author, content, url = ap_utils.parse_note(actor, note, type) - shorturl = self.exports.get_one("shorturl")(event["server"], url, + shorturl = self.exports.get("shorturl")(event["server"], url, context=event["target"]) if cw: diff --git a/modules/fediverse/ap_server.py b/modules/fediverse/ap_server.py index e1b5cece..1fb98760 100644 --- a/modules/fediverse/ap_server.py +++ b/modules/fediverse/ap_server.py @@ -12,7 +12,7 @@ class Server(object): self.username = username self.instance = instance - url_for = self.exports.get_one("url-for") + url_for = self.exports.get("url-for") key_id = self._ap_keyid_url(url_for) private_key = ap_security.PrivateKey(self.bot.config["tls-key"], key_id) @@ -61,7 +61,7 @@ class Server(object): def _toot(self, activity_id): content, timestamp = self.bot.get_setting( "ap-activity-%s" % activity_id) - url_for = self.exports.get_one("url-for") + url_for = self.exports.get("url-for") self_id = self._ap_self_url(url_for) activity_url = self._ap_activity_url(url_for, activity_id) diff --git a/modules/git_webhooks/__init__.py b/modules/git_webhooks/__init__.py index b87f0665..44d9b5dc 100644 --- a/modules/git_webhooks/__init__.py +++ b/modules/git_webhooks/__init__.py @@ -138,7 +138,7 @@ class Module(ModuleManager.BaseModule): if url: if channel.get_setting("git-shorten-urls", False): - url = self.exports.get_one("shorturl")(server, url, + url = self.exports.get("shorturl")(server, url, context=channel) or url output = "%s - %s" % (output, url) diff --git a/modules/git_webhooks/github.py b/modules/git_webhooks/github.py index 21b672ce..8bf61114 100644 --- a/modules/git_webhooks/github.py +++ b/modules/git_webhooks/github.py @@ -441,7 +441,7 @@ class GitHub(object): url = "" if data["check_run"]["details_url"]: url = data["check_run"]["details_url"] - url = " - %s" % self.exports.get_one("shorturl-any")(url) + url = " - %s" % self.exports.get("shorturl-any")(url) duration = "" if data["check_run"]["completed_at"]: diff --git a/modules/ids.py b/modules/ids.py index 1738c549..2e056892 100644 --- a/modules/ids.py +++ b/modules/ids.py @@ -16,7 +16,7 @@ class Module(ModuleManager.BaseModule): @utils.kwarg("help", "Show what I think your account name is") def account(self, event): event["stdout"].write("%s: %s" % (event["user"].nickname, - self.exports.get_one("account-name")(event["user"]))) + self.exports.get("account-name")(event["user"]))) @utils.hook("received.command.channelid", channel_only=True) def channel_id(self, event): diff --git a/modules/ircv3_editmsg.py b/modules/ircv3_editmsg.py index a7b5b2b0..15163053 100644 --- a/modules/ircv3_editmsg.py +++ b/modules/ircv3_editmsg.py @@ -18,7 +18,7 @@ class Module(ModuleManager.BaseModule): timestamp, line.message) line = "- %s" % minimal - self.exports.get_one("format")("delete", event["server"], line, + self.exports.get("format")("delete", event["server"], line, event["target_str"], minimal=minimal, channel=channel, user=event["user"]) diff --git a/modules/lastfm.py b/modules/lastfm.py index 14e9128a..2ebeb263 100644 --- a/modules/lastfm.py +++ b/modules/lastfm.py @@ -59,7 +59,7 @@ class Module(ModuleManager.BaseModule): time_language = "is listening to" if np else "last listened to" - yt_url = self.exports.get_one("search-youtube")( + yt_url = self.exports.get("search-youtube")( "%s - %s" % (artist, track_name)) yt_url_str = "" if yt_url: diff --git a/modules/rss.py b/modules/rss.py index 07916861..56491298 100644 --- a/modules/rss.py +++ b/modules/rss.py @@ -27,7 +27,7 @@ class Module(ModuleManager.BaseModule): link = entry.get("link", None) if shorten: try: - link = self.exports.get_one("shorturl")(server, link) + link = self.exports.get("shorturl")(server, link) except: pass link = " - %s" % link if link else "" diff --git a/modules/shorturl.py b/modules/shorturl.py index afc1b50c..de949c6e 100644 --- a/modules/shorturl.py +++ b/modules/shorturl.py @@ -20,7 +20,7 @@ class Module(ModuleManager.BaseModule): 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) + return self.exports.get("shorturl-s-%s" % name, None) def _call_shortener(self, shortener_name, url): shortener = self._get_shortener(shortener_name) if shortener == None: diff --git a/modules/title.py b/modules/title.py index df05546e..526a8131 100644 --- a/modules/title.py +++ b/modules/title.py @@ -71,7 +71,7 @@ class Module(ModuleManager.BaseModule): return -2, title if channel.get_setting("title-shorten", False): - short_url = self.exports.get_one("shorturl")(server, url, + short_url = self.exports.get("shorturl")(server, url, context=channel) return page.code, "%s - %s" % (title, short_url) return page.code, title diff --git a/modules/tweets/format.py b/modules/tweets/format.py index 540e7638..9648dc51 100644 --- a/modules/tweets/format.py +++ b/modules/tweets/format.py @@ -23,7 +23,7 @@ def _tweet(exports, server, tweet, from_url): short_url = "" if not from_url: - short_url = exports.get_one("shorturl")(server, tweet_link) + short_url = exports.get("shorturl")(server, tweet_link) short_url = " - %s" % short_url if short_url else "" created_at = _timestamp(tweet.created_at) diff --git a/modules/user_time.py b/modules/user_time.py index 762a9440..8d0701e6 100644 --- a/modules/user_time.py +++ b/modules/user_time.py @@ -34,7 +34,7 @@ class Module(ModuleManager.BaseModule): location["timezone"]) if query: - location = self.exports.get_one("get-location")(query) + location = self.exports.get("get-location")(query) if location: return (LocationType.NAME, location["name"], location["timezone"]) diff --git a/modules/weather.py b/modules/weather.py index 25c2d096..bd6b5e8b 100644 --- a/modules/weather.py +++ b/modules/weather.py @@ -45,7 +45,7 @@ class Module(ModuleManager.BaseModule): if location == None and query: - location_info = self.exports.get_one("get-location")(query) + location_info = self.exports.get("get-location")(query) if not location_info == None: location = [location_info["lat"], location_info["lon"], location_info.get("name", None)] diff --git a/modules/words.py b/modules/words.py index 88dbc6cc..6f74ecec 100644 --- a/modules/words.py +++ b/modules/words.py @@ -66,7 +66,7 @@ class Module(ModuleManager.BaseModule): if event["channel"].get_setting("word-tracking-registered", event["server"].get_setting("word-tracking-registered", False)): - if not self.exports.get_one("is-identified")(event["user"]): + if not self.exports.get("is-identified")(event["user"]): return if user.get_setting("first-words", None) == None: diff --git a/src/Exports.py b/src/Exports.py index a9fe3175..64c10d69 100644 --- a/src/Exports.py +++ b/src/Exports.py @@ -35,7 +35,7 @@ class Exports(object): return self._exports.get(setting, []) + sum([ exports.get(setting, []) for exports in self._context_exports.values()], []) - def get_one(self, setting: str, default: typing.Any=None + def get(self, setting: str, default: typing.Any=None ) -> typing.Optional[typing.Any]: values = self.get_all(setting) return values[0] if values else default @@ -60,8 +60,8 @@ class ExportsContext(object): self._parent._context_add(self.context, setting, value) def get_all(self, setting: str) -> typing.List[typing.Any]: return self._parent.get_all(setting) - def get_one(self, setting: str, default: typing.Any=None + def get(self, setting: str, default: typing.Any=None ) -> typing.Optional[typing.Any]: - return self._parent.get_one(setting, default) + return self._parent.get(setting, default) def find(self, setting_prefix: str) -> typing.List[typing.Any]: return self._parent.find(setting_prefix) diff --git a/src/core_modules/channel_access.py b/src/core_modules/channel_access.py index 662599e0..a8c371a8 100644 --- a/src/core_modules/channel_access.py +++ b/src/core_modules/channel_access.py @@ -21,7 +21,7 @@ class Module(ModuleManager.BaseModule): user_access = target.get_user_setting(user.get_id(), "access", []) - identified = self.exports.get_one("is-identified")(user) + identified = self.exports.get("is-identified")(user) matched = list(set(required_access)&set(user_access)) return ("*" in user_access or matched) and identified diff --git a/src/core_modules/command_spec/__init__.py b/src/core_modules/command_spec/__init__.py index 6a4fd3d8..6345d342 100644 --- a/src/core_modules/command_spec/__init__.py +++ b/src/core_modules/command_spec/__init__.py @@ -48,7 +48,7 @@ class Module(ModuleManager.BaseModule): if argument_type.type in types.TYPES: func = types.TYPES[argument_type.type] else: - func = self.exports.get_one( + func = self.exports.get( "command-spec.%s" % argument_type.type) if func: