Commit graph

281 commits

Author SHA1 Message Date
jesopo
9944f08acf Typo, '=' -> '==' (utils.irc) 2018-12-12 11:50:59 +00:00
jesopo
d5467aefe9 Support '99' as a 'transparent' irc color code 2018-12-12 11:49:42 +00:00
jesopo
85840a68dd Preserve logged exc_info across threads 2018-12-12 11:33:29 +00:00
jesopo
2d3bb2b5e8 Typo in utils.http.request, 'response_heders' -> 'response_headers' 2018-12-11 22:31:14 +00:00
jesopo
5b59740043 Pass a dict to utils.CaseInsensitiveDict, not a MutableMapping 2018-12-11 22:30:57 +00:00
jesopo
d373edfaae Add missing utils import in utils.http 2018-12-11 22:30:05 +00:00
jesopo
793d234a0b 'utils.http.get_url' -> 'utils.http.request', return a Response object from
utils.http.request
2018-12-11 22:26:38 +00:00
jesopo
f77c443ac1 Add type hint for Logging._queue 2018-12-10 13:38:49 +00:00
jesopo
312293b221 Make block param of queue.get() explicitly refer to block 2018-12-10 13:34:53 +00:00
jesopo
df8135f105 Put logging functionality on to it's own thread 2018-12-10 13:18:15 +00:00
jesopo
dea63d9cf2 By the time we take ref counts, we've already removed module from
`loaded_module`
2018-12-09 11:24:05 +00:00
jesopo
8c3f87b029 change self.modules to be a dict of str:LoadedModule, not str:BaseModule 2018-12-09 11:22:30 +00:00
jesopo
ac71cfa4fa Add missing change to loaded_module.module (from module) in unload_module 2018-12-09 11:20:55 +00:00
jesopo
91beadd1cd def LoadedModule -> class LoadedModule 2018-12-09 11:18:55 +00:00
jesopo
6935c926dc Don't store any information used to load/unload modules on the module it's self
thus preventing even the possibility that modules can change them
2018-12-09 11:15:04 +00:00
jesopo
1c546a8244 Add typing hints to CaseInsensitiveDict, fix it's __setitem__ signature, call
.items() on `other` in ctor
2018-12-08 09:13:01 +00:00
jesopo
9bef4b7df1 Switch to using a case insensitive dictionary for headers instead of doing
.title() on each header key
2018-12-08 09:00:12 +00:00
jesopo
bae1fac147 Add returns type hint in EventManager.py.call 2018-12-06 10:15:12 +00:00
jesopo
809efc6793 Only pop MODE args when we're certain we should (pays more attention to
CHANMODES ISUPPORT)
2018-12-06 08:26:07 +00:00
jesopo
d60c441ce2 fix incorrect retyping of "event_path" as "event, path" (i wasn't paying enough
attention)
2018-12-05 15:23:40 +00:00
jesopo
4015275afc Add missing ")" from last commit 2018-12-05 15:19:58 +00:00
jesopo
df624e7e29 Don't do unnecessary work when someone tries to call a not-hooked-in-to event 2018-12-05 15:18:40 +00:00
jesopo
50149523dd re-add check in utils.irc.parse_line that prevents us having an empty string as
an arg when there's no non-arbitrary args
2018-12-03 18:25:57 +00:00
jesopo
9dd9111f85 Further clarification of type hints in ModuleManager.py, including now making it
explicit that module objects MUST inherit from BaseModule
2018-12-02 16:00:55 +00:00
jesopo
9466f57efc Use getattr to get Module classes out of modules in ModuleManager.py; this
makes more sense and removes some errors from type linting
2018-12-02 10:14:18 +00:00
jesopo
50ced296d1 Clarify func_queue type (IRCBot.py) 2018-12-02 10:08:58 +00:00
jesopo
10f84f970d Clarify/fix type hints throughout EventManager.py 2018-12-02 10:04:05 +00:00
jesopo
08bd31f150 A couple of tweaks to clarify some type hints 2018-12-02 09:56:57 +00:00
jesopo
c4ea6fa562 data is now line 2018-12-02 09:48:06 +00:00
jesopo
cbc3ae3432 Remove usage of sys.stderr in IRCBot.py, change disconnect logs from info to
`warn`
2018-12-02 09:43:57 +00:00
jesopo
9a311c88b6 Remove print calls from IRCBot.py, move received data logging to IRCServer 2018-12-02 09:41:21 +00:00
jesopo
eb0c13971a Omit Config keys that have falsey values (empty) 2018-12-02 08:28:59 +00:00
jesopo
cdfe6d2959 'uderline' -> 'underline' typo in utils.irc 2018-11-30 16:32:18 +00:00
jesopo
4dfb2ffeaa Support ANSI underline 2018-11-30 16:30:56 +00:00
jesopo
af0fddf9ba 'find_*_setting' functions don't exist anymore! 2018-11-28 10:12:17 +00:00
jesopo
e1cdd4a353 Add type hint for return type of IRCBot.trigger 2018-11-27 17:29:38 +00:00
jesopo
9d9deb28b5 Raise exceptions back up through .trigger() 2018-11-27 15:06:10 +00:00
jesopo
d13a5069e3 Grab response from functions asked to be executed on the main thread and feed
them back to the callers, allowing rest_api.py to take the main thread while
it's waiting for the response to give back to the requesting client
2018-11-27 14:25:12 +00:00
jesopo
7c4b2b6c4e Add .nickname/.username/.realname/.hostname to IRCServer 2018-11-27 12:16:36 +00:00
jesopo
72dca06626 Add a way to catch when a writebuffer is emptied so we can e.g. assure a QUIT is
sent before shutting down the bot
2018-11-27 11:56:03 +00:00
jesopo
dce050aac5 Convert BOOLEAN sqlite3 types to bool objects when retrieving them 2018-11-27 11:39:50 +00:00
jesopo
fba1dd2271 Nope, just combine previous color-char and current color-char and see if it's
less than or equal to 15 (utils.irc)
2018-11-26 17:34:27 +00:00
jesopo
9a614846b0 Don't reject 6-9 (inclusive) when it's prepended by 0 (src/utils/irc.py) 2018-11-26 17:31:56 +00:00
jesopo
f93e3f927f If a color code is double-digit, make sure it's 0-15, not just 0-20 2018-11-26 17:23:11 +00:00
jesopo
8d32fed2fe ModuleWarnings in src/ModuleManger.py should be logged as warn, not error 2018-11-26 14:42:41 +00:00
jesopo
1b03d31c6b Switch back to logging events as 2 messages as a lot of other logs can happen
between the start and end of an event and grouping them together is very useful
2018-11-26 14:23:20 +00:00
jesopo
6d6bfa3262 Don't assume a given mode is in IRCChannel.modes when we check to see if a given
mode has any arguments against it
2018-11-26 13:39:26 +00:00
jesopo
8cd069d37d 'bot.log' -> 'trace.log' and add a 'warn.log' log file that only catches
warn-and-worse
2018-11-26 11:09:43 +00:00
jesopo
5b70f37796 also support zero-padded color codes 2018-11-25 13:32:57 +00:00
jesopo
6d2c15ed2c Don't eat numbers after color formatting if they'd end up making the color code
`20` or more
2018-11-25 13:23:00 +00:00