From 3453479235bec9ec61b3e9dd95aef66a78fe6296 Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 19 Feb 2020 17:29:10 +0000 Subject: [PATCH] utilise @utils.export for function exporting in more places --- modules/badges.py | 3 +-- modules/location.py | 2 +- modules/rest_api.py | 3 +-- modules/shorturl.py | 8 +++----- modules/user_time.py | 4 +--- modules/youtube.py | 4 +--- src/core_modules/format_activity.py | 4 +--- src/core_modules/permissions/__init__.py | 6 ++---- 8 files changed, 11 insertions(+), 23 deletions(-) diff --git a/modules/badges.py b/modules/badges.py index 21531c7c..0fef164b 100644 --- a/modules/badges.py +++ b/modules/badges.py @@ -7,8 +7,7 @@ RE_HUMAN_FORMAT = re.compile(r"(\d\d\d\d)-(\d?\d)-(\d?\d)") HUMAN_FORMAT_HELP = "year-month-day (e.g. 2018-12-29)" class Module(ModuleManager.BaseModule): - def on_load(self): - self.exports.add("command-spec.marginstring", self._marginstring_spec) + @utils.export("command-spec.marginstring") def _marginstring_spec(self, server, channel, user, args): if len(args) > 1: new_args = args[:-1] diff --git a/modules/location.py b/modules/location.py index dfef9244..08c8b1fd 100644 --- a/modules/location.py +++ b/modules/location.py @@ -11,8 +11,8 @@ class Module(ModuleManager.BaseModule): setting = utils.FunctionSetting(self._get_location, "location", "Set your location", example="London, GB") self.exports.add("set", setting) - self.exports.add("get-location", self._get_location) + @utils.export("get-location") def _get_location(self, s): page = utils.http.request(URL_OPENCAGE, get_params={"limit": "1", "q": s, "key": self.bot.config["opencagedata-api-key"]}).json() diff --git a/modules/rest_api.py b/modules/rest_api.py index 735e366d..a8545aec 100644 --- a/modules/rest_api.py +++ b/modules/rest_api.py @@ -171,8 +171,6 @@ class Module(ModuleManager.BaseModule): global _log _log = self.log - self.exports.add("url-for", self._url_for) - self.httpd = None if self.bot.get_setting("rest-api", False): self._start_httpd() @@ -246,6 +244,7 @@ class Module(ModuleManager.BaseModule): else: event["stderr"].write("Count not find API key '%s'" % alias) + @utils.export("url-for") def _url_for(self, route, endpoint, args=[], get_params={}, host_override=None): host = host_override or self.bot.get_setting("rest-api-host", None) diff --git a/modules/shorturl.py b/modules/shorturl.py index 10bd9dd3..afc1b50c 100644 --- a/modules/shorturl.py +++ b/modules/shorturl.py @@ -8,11 +8,6 @@ URL_BITLYSHORTEN = "https://api-ssl.bitly.com/v3/shorten" class Module(ModuleManager.BaseModule): def on_load(self): - self.exports.add("shorturl", self._shorturl) - self.exports.add("shorturl-any", self._shorturl_any) - - self.exports.add("shorturl-s-bitly", self._bitly) - setting = utils.OptionsSetting([], "url-shortener", "Set URL shortener service", options_factory=self._shorturl_options_factory) @@ -35,9 +30,11 @@ class Module(ModuleManager.BaseModule): return None return short_url + @utils.export("shorturl-any") def _shorturl_any(self, url): return self._call_shortener("bitly", url) or url + @utils.export("shorturl") def _shorturl(self, server, url, context=None): shortener_name = None if context: @@ -50,6 +47,7 @@ class Module(ModuleManager.BaseModule): return url return self._call_shortener(shortener_name, url) or url + @utils.export("shorturl-s-bitly") def _bitly(self, url): if len(url) < 22: return None diff --git a/modules/user_time.py b/modules/user_time.py index 80090c29..762a9440 100644 --- a/modules/user_time.py +++ b/modules/user_time.py @@ -15,9 +15,6 @@ class LocationType(enum.Enum): class Module(ModuleManager.BaseModule): _name = "Time" - def on_load(self): - self.exports.add("time-localise", self.time_localise) - def _find_setting(self, event): query = None target_user = None @@ -80,6 +77,7 @@ class Module(ModuleManager.BaseModule): event["stderr"].write(out % name) + @utils.export("time-localise") def time_localise(self, user, dt): location = user.get_setting("location", None) timezone = "UTC" diff --git a/modules/youtube.py b/modules/youtube.py index f2c60885..a583ec55 100644 --- a/modules/youtube.py +++ b/modules/youtube.py @@ -24,9 +24,6 @@ ARROW_DOWN = "↓" @utils.export("channelset", utils.BoolSetting("youtube-safesearch", "Turn safe search off/on")) class Module(ModuleManager.BaseModule): - def on_load(self): - self.exports.add("search-youtube", self._search_youtube) - def get_video_page(self, video_id): return utils.http.request(URL_YOUTUBEVIDEO, get_params={ "part": "contentDetails,snippet,statistics", @@ -115,6 +112,7 @@ class Module(ModuleManager.BaseModule): elif parsed.path == "/playlist" and "list" in query: return self.playlist_details(query["list"][0]) + @utils.export("search-youtube") def _search_youtube(self, query): video_id = "" diff --git a/src/core_modules/format_activity.py b/src/core_modules/format_activity.py index 12573675..85574ea1 100644 --- a/src/core_modules/format_activity.py +++ b/src/core_modules/format_activity.py @@ -2,12 +2,10 @@ import datetime from src import EventManager, ModuleManager, utils class Module(ModuleManager.BaseModule): - def on_load(self): - self.exports.add("format", self._event) - def _color(self, nickname): return utils.irc.hash_colorize(nickname) + @utils.export("format") def _event(self, type, server, line, context, minimal=None, channel=None, user=None, formatting={}, **kwargs): pretty = line diff --git a/src/core_modules/permissions/__init__.py b/src/core_modules/permissions/__init__.py index 44ebcc77..a6426318 100644 --- a/src/core_modules/permissions/__init__.py +++ b/src/core_modules/permissions/__init__.py @@ -9,10 +9,6 @@ NO_PERMISSION = "You do not have permission to do that" ACCOUNT_TAG = utils.irc.MessageTag("account") class Module(ModuleManager.BaseModule): - def on_load(self): - self.exports.add("is-identified", self._is_identified) - self.exports.add("account-name", self._account_name) - @utils.hook("new.server") def new_server(self, event): event["server"]._hostmasks = {} @@ -59,6 +55,7 @@ class Module(ModuleManager.BaseModule): user._id_override = server.get_user_id(account) self.events.on("internal.identified").call(server=server, user=user, accunt=account) + @utils.export("is-identified") def _is_identified(self, user): return not user._id_override == None def _signout(self, user): @@ -79,6 +76,7 @@ class Module(ModuleManager.BaseModule): user._hostmask_account = (hostmask, account) self._has_identified(server, user, account) + @utils.export("account-name") def _account_name(self, user): if not user.account == None: return user.account