diff options
| author | 2018-09-27 11:46:10 +0100 | |
|---|---|---|
| committer | 2018-09-27 11:46:10 +0100 | |
| commit | 8b0314b190b02f7e83fe0dae3c349ce4dffdcb4f (patch) | |
| tree | 2481de34452598ff3d3ca579612a0fdc0dc0edc5 | |
| parent | Implement @Utils.export, to denote an export on a module (diff) | |
| signature | ||
Use ModuleManager.BaseModule in more modules
| -rw-r--r-- | modules/define.py | 8 | ||||
| -rw-r--r-- | modules/google.py | 7 | ||||
| -rw-r--r-- | modules/imdb.py | 6 | ||||
| -rw-r--r-- | modules/in.py | 7 | ||||
| -rw-r--r-- | modules/isgd.py | 7 | ||||
| -rw-r--r-- | modules/modules.py | 5 | ||||
| -rw-r--r-- | modules/nickname_aliases.py | 6 | ||||
| -rw-r--r-- | modules/nr.py | 9 | ||||
| -rw-r--r-- | modules/print_activity.py | 7 | ||||
| -rw-r--r-- | modules/set.py | 7 | ||||
| -rw-r--r-- | modules/soundcloud.py | 6 | ||||
| -rw-r--r-- | modules/stats.py | 7 | ||||
| -rw-r--r-- | modules/tfl.py | 8 | ||||
| -rw-r--r-- | modules/thesaurus.py | 7 | ||||
| -rw-r--r-- | modules/tweets.py | 7 | ||||
| -rw-r--r-- | modules/weather.py | 7 | ||||
| -rw-r--r-- | modules/wolframalpha.py | 6 | ||||
| -rw-r--r-- | src/ModuleManager.py | 4 |
18 files changed, 39 insertions, 82 deletions
diff --git a/modules/define.py b/modules/define.py index 178a9c5a..57b3a762 100644 --- a/modules/define.py +++ b/modules/define.py @@ -1,17 +1,15 @@ #--require-config wordnik-api-key import time -from src import Utils +from src import ModuleManager, Utils URL_WORDNIK = "https://api.wordnik.com/v4/word.json/%s/definitions" URL_WORDNIK_RANDOM = "https://api.wordnik.com/v4/words.json/randomWord" RANDOM_DELAY_SECONDS = 3 -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - self._last_called = 0 +class Module(ModuleManager.BaseModule): + _last_called = 0 def _get_definition(self, word): word = event["args"] if "args" in event else event diff --git a/modules/google.py b/modules/google.py index f98ed2ad..fb487db1 100644 --- a/modules/google.py +++ b/modules/google.py @@ -2,15 +2,12 @@ #--require-config google-search-id import json -from src import Utils +from src import ModuleManager, Utils URL_GOOGLESEARCH = "https://www.googleapis.com/customsearch/v1" URL_GOOGLESUGGEST = "http://google.com/complete/search" -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.google|g", usage="[search term]") def google(self, event): """ diff --git a/modules/imdb.py b/modules/imdb.py index d735910f..1d3a8ab5 100644 --- a/modules/imdb.py +++ b/modules/imdb.py @@ -1,15 +1,13 @@ #--require-config omdbapi-api-key import json -from src import Utils +from src import ModuleManager, Utils URL_OMDB = "http://www.omdbapi.com/" URL_IMDBTITLE = "http://imdb.com/title/%s" -class Module(object): +class Module(ModuleManager.BaseModule): _name = "IMDb" - def __init__(self, bot, events, exports): - self.bot = bot @Utils.hook("received.command.imdb", min_args=1, usage="<movie/tv title>") def imdb(self, event): diff --git a/modules/in.py b/modules/in.py index 52363fec..36b84f28 100644 --- a/modules/in.py +++ b/modules/in.py @@ -1,13 +1,10 @@ import time -from src import Utils +from src import ModuleManager, Utils SECONDS_MAX = Utils.SECONDS_WEEKS*8 SECONDS_MAX_DESCRIPTION = "8 weeks" -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.in", min_args=2, usage="<time> <message>") def in_command(self, event): """ diff --git a/modules/isgd.py b/modules/isgd.py index 6128ceb0..f55f17a7 100644 --- a/modules/isgd.py +++ b/modules/isgd.py @@ -1,13 +1,10 @@ import re -from src import Utils +from src import ModuleManager, Utils ISGD_API_URL = "https://is.gd/create.php" REGEX_URL = re.compile("https?://", re.I) -class Module(object): - def __init__(self, bot, events, exports): - self.events = events - +class Module(ModuleManager.BaseModule): @Utils.hook("get.shortlink") def shortlink(self, event): url = event["url"] diff --git a/modules/modules.py b/modules/modules.py index 533091aa..11a29f83 100644 --- a/modules/modules.py +++ b/modules/modules.py @@ -1,9 +1,6 @@ from src import ModuleManager, Utils -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.loadmodule", min_args=1, permission="load-module", usage="<module-name>") def load(self, event): diff --git a/modules/nickname_aliases.py b/modules/nickname_aliases.py index 29545a75..ad7eee11 100644 --- a/modules/nickname_aliases.py +++ b/modules/nickname_aliases.py @@ -1,6 +1,6 @@ #--ignore import types, json -from src import Utils +from src import ModuleManager, Utils def get_target(user): return user.alias or user.nickname @@ -21,10 +21,8 @@ def del_setting(user, setting): user.bot.database.del_user_setting(user.server.id, target, setting) -class Module(object): +class Module(ModuleManager.BaseModule): _name = "Aliases" - def __init__(self, bot, events, exports): - self.bot = bot @Utils.hook("new.user") def new_user(self, event): diff --git a/modules/nr.py b/modules/nr.py index 4d953d82..ee0f3379 100644 --- a/modules/nr.py +++ b/modules/nr.py @@ -2,7 +2,7 @@ import collections, re, time from datetime import datetime, date from collections import Counter -from src import Utils +from src import ModuleManager, Utils from suds.client import Client from suds import WebFault @@ -14,16 +14,13 @@ from suds import WebFault URL = 'https://lite.realtime.nationalrail.co.uk/OpenLDBSVWS/wsdl.aspx?ver=2016-02-16' -class Module(object): +class Module(ModuleManager.BaseModule): _name = "NR" + _client = None PASSENGER_ACTIVITIES = ["U", "P", "R"] COLOURS = [Utils.COLOR_LIGHTBLUE, Utils.COLOR_GREEN, Utils.COLOR_RED, Utils.COLOR_CYAN, Utils.COLOR_LIGHTGREY, Utils.COLOR_ORANGE] - def __init__(self, bot, events, exports): - self.bot = bot - self._client = None - @property def client(self): if self._client: return self._client diff --git a/modules/print_activity.py b/modules/print_activity.py index 12e43a8b..1f113979 100644 --- a/modules/print_activity.py +++ b/modules/print_activity.py @@ -1,10 +1,7 @@ import datetime -from src import EventManager, Utils - -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot +from src import EventManager, ModuleManager, Utils +class Module(ModuleManager.BaseModule): def print_line(self, event, line, channel=None): timestamp = datetime.datetime.now().isoformat() target = str(event["server"]) diff --git a/modules/set.py b/modules/set.py index 78001209..64a164b4 100644 --- a/modules/set.py +++ b/modules/set.py @@ -1,9 +1,6 @@ -from src import Utils - -class Module(object): - def __init__(self, bot, events, exports): - self.exports = exports +from src import ModuleManager, Utils +class Module(ModuleManager.BaseModule): def _set(self, settings, event, target): settings_dict = dict([(setting["setting"], setting ) for setting in settings]) diff --git a/modules/soundcloud.py b/modules/soundcloud.py index 8ecde75a..bb33b846 100644 --- a/modules/soundcloud.py +++ b/modules/soundcloud.py @@ -1,16 +1,14 @@ #--require-config soundcloud-api-key import json, re, time -from src import Utils +from src import ModuleManager, Utils URL_SOUNDCLOUD_TRACK = "http://api.soundcloud.com/tracks" URL_SOUNDCLOUD_RESOLVE = "http://api.soundcloud.com/resolve" REGEX_SOUNDCLOUD = "https?://soundcloud.com/([^/]+)/([^/]+)" -class Module(object): +class Module(ModuleManager.BaseModule): _name = "SoundCloud" - def __init__(self, bot, events, exports): - self.bot = bot @Utils.hook("received.command.soundcloud|sc") def soundcloud(self, event): diff --git a/modules/stats.py b/modules/stats.py index 927eedad..5cf78a54 100644 --- a/modules/stats.py +++ b/modules/stats.py @@ -1,10 +1,7 @@ import time -from src import Utils - -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot +from src import ModuleManager, Utils +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.uptime") def uptime(self, event): """ diff --git a/modules/tfl.py b/modules/tfl.py index ef7d2b08..a1bdab4a 100644 --- a/modules/tfl.py +++ b/modules/tfl.py @@ -1,5 +1,5 @@ import collections, datetime, re -from src import Utils +from src import ModuleManager, Utils URL_BUS = "https://api.tfl.gov.uk/StopPoint/%s/Arrivals" URL_BUS_SEARCH = "https://api.tfl.gov.uk/StopPoint/Search/%s" @@ -18,11 +18,9 @@ URL_ROUTE = "https://api.tfl.gov.uk/Line/%s/Route/Sequence/all?excludeCrowding=T PLATFORM_TYPES = ["Northbound", "Southbound", "Eastbound", "Westbound", "Inner Rail", "Outer Rail"] -class Module(object): +class Module(ModuleManager.BaseModule): _name = "TFL" - def __init__(self, bot, events, exports): - self.bot = bot - self.result_map = {} + result_map = {} def vehicle_span(self, arrival_time, human=True): vehicle_due_iso8601 = arrival_time diff --git a/modules/thesaurus.py b/modules/thesaurus.py index 3791d609..b34c2f04 100644 --- a/modules/thesaurus.py +++ b/modules/thesaurus.py @@ -1,13 +1,10 @@ #--require-config bighugethesaurus-api-key -from src import Utils +from src import ModuleManager, Utils URL_THESAURUS = "http://words.bighugelabs.com/api/2/%s/%s/json" -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.synonym|antonym", min_args=1, usage="<word> [type]") def thesaurus(self, event): diff --git a/modules/tweets.py b/modules/tweets.py index 8f8d2396..c41d66f9 100644 --- a/modules/tweets.py +++ b/modules/tweets.py @@ -5,16 +5,13 @@ import datetime, re, time, traceback import twitter -from src import Utils +from src import ModuleManager, Utils REGEX_TWITTERURL = re.compile( "https?://(?:www\.)?twitter.com/[^/]+/status/(\d+)", re.I) -class Module(object): +class Module(ModuleManager.BaseModule): _name = "Twitter" - def __init__(self, bot, events, exports): - self.bot = bot - self.events = events def make_timestamp(self, s): seconds_since = time.time() - datetime.datetime.strptime(s, diff --git a/modules/weather.py b/modules/weather.py index f16b62b7..33200958 100644 --- a/modules/weather.py +++ b/modules/weather.py @@ -1,13 +1,10 @@ #--require-config openweathermap-api-key -from src import Utils +from src import ModuleManager, Utils URL_WEATHER = "http://api.openweathermap.org/data/2.5/weather" -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - +class Module(ModuleManager.BaseModule): @Utils.hook("received.command.weather", min_args=1, usage="<location>") def weather(self, event): """ diff --git a/modules/wolframalpha.py b/modules/wolframalpha.py index 6415639c..292016e4 100644 --- a/modules/wolframalpha.py +++ b/modules/wolframalpha.py @@ -1,13 +1,11 @@ #--require-config wolframalpha-api-key import json -from src import Utils +from src import ModuleManager, Utils URL_WA = "https://api.wolframalpha.com/v1/result" -class Module(object): +class Module(ModuleManager.BaseModule): _name = "Wolfram|Alpha" - def __init__(self, bot, events, exports): - self.bot = bot @Utils.hook("received.command.wolframalpha|wa", min_args=1, usage="<query>") def wa(self, event): diff --git a/src/ModuleManager.py b/src/ModuleManager.py index dfcfc409..dcf87230 100644 --- a/src/ModuleManager.py +++ b/src/ModuleManager.py @@ -22,7 +22,9 @@ class ModuleNotLoadedWarning(ModuleWarning): class BaseModule(object): def __init__(self, bot, events, exports): - pass + self.bot = bot + self.events = events + self.exports = exports class ModuleManager(object): def __init__(self, bot, events, exports, directory): |
