Commit graph

313 commits

Author SHA1 Message Date
jesopo
76fd67235a Add optional default param to Exports.get_one() (src/Exports.py) 2019-02-07 13:36:34 +00:00
jesopo
e124b8e79d Implement ExportsContext.get_one 2019-02-07 10:10:13 +00:00
jesopo
8c1c10b3c7 Implement Exports.get_one() 2019-02-07 10:02:27 +00:00
jesopo
f94f233eb3 Fix mypy typing issue with importspec loader Optionalness (src/ModuleManager.py) 2019-02-06 22:41:37 +00:00
jesopo
1895ac34d7 If a server has a hostname that's not an IP, use it as SNI server name 2019-02-06 18:11:19 +00:00
jesopo
70b29a345a Don't break if we try to "finish" a waiting CAP when it's already finished 2019-02-06 15:44:09 +00:00
jesopo
2f7937adc5 Don't .lower() nicknames in Database.py, it doesn't know about IRC casemapping 2019-02-06 11:25:20 +00:00
jesopo
cbbe6f1569 STARTTLS was removed long ago 2019-02-05 22:26:41 +00:00
jesopo
5991e02b0a Manually count ACK/NAK for REQed CAPs before ENDing CAP negotiation 2019-02-05 19:20:02 +00:00
jesopo
c311521a31 Switch to using __init__.py as main file of directory modules, so they behave
like a package (also put the modules manually in sys.modules
2019-02-05 15:53:11 +00:00
jesopo
607c6eddf9 Switch to a non-deprecated method of loading files by filename
(`importlib.util.spec_from_file_location`)
2019-02-05 13:34:13 +00:00
jesopo
5dda000c96 Add make_event(..) to EventHookContext 2019-01-30 19:37:52 +00:00
jesopo
72072bbd3d Make sure to call the specific hook we've decided is valid (commands.py) 2019-01-30 19:35:43 +00:00
jesopo
d10a6d94c1 Add a way to force success and force failure of a command permission check
(commands.py)
2019-01-28 23:29:52 +00:00
jesopo
cc8478c50c Only search messages from other users in find_from (src/IRCBuffer.py) 2019-01-26 15:58:57 +00:00
jesopo
e1e4fbf9bc Add find_from to IRCBuffer.Buffer, to find the most recent line from a given
user (src/IRCBuffer.py)
2019-01-26 15:46:20 +00:00
jesopo
8dcd6b2937 Make sure more than one hook can catch preprocess.send but still respect any
that return a change to the output (src/IRCServer.py)
2019-01-26 11:05:25 +00:00
jesopo
1a24f17375 IRCServer.Server.irc_lower should have a return type hint of str 2019-01-24 17:15:02 +00:00
jesopo
3df6b39228 Typo, IRCServer.Server.irc_equal -> IRCServer.Server.irc_equals 2019-01-24 17:13:51 +00:00
jesopo
301dd7378a Add irc_lower() and irc_equals() to IRCServer.Server so that no where else
in the code has to know about the server having a casemapping
2019-01-24 17:12:50 +00:00
jesopo
baeff58539 Fix incorrect indentation level in Logging.py 2019-01-18 16:28:09 +00:00
jesopo
69edf039b3 Support modules being in their own folder and move github.py to github/module.py 2019-01-18 12:49:11 +00:00
jesopo
4c5af0845c output of len() needs to have a -1 on it when matching it against indexes
within the given string (src/utils/irc.py)
2019-01-16 12:42:45 +00:00
jesopo
2331205368 Don't ignore a color code when it's right at the end of a message
(src/utils/irc.py)
2019-01-16 12:41:41 +00:00
jesopo
470f85b009 Pushing logging on to another thread was a ridiculous idea. it means CRITICAL
logs are in a race condition to write to file before the main thread exits.
2019-01-16 12:03:56 +00:00
jesopo
6405ee2582 Support removal of modes without args that we don't know about in a way that
doesn't push code execution down the wrong path (src/IRCChannel.py)
2019-01-16 11:59:36 +00:00
jesopo
aa40936ce6 Support a mode being removed from a channel, without an arg, that we weren't yet
aware of (src/IRCChannel.py)
2019-01-16 11:47:42 +00:00
jesopo
8ed89b3f31 Add src/utils/_consts_256_color.py that should have been added 2 commits ago 2019-01-16 11:25:40 +00:00
jesopo
3b75519fb0 Fix regression that caused only foreground to be parsed if there's foreground
AND background formatting (src.utils.irc)
2019-01-16 11:24:47 +00:00
jesopo
8f4312d002 Support IRC colors 16 through 98 2019-01-16 11:18:51 +00:00
jesopo
598fcb80b9 'to_ansi_colors(' -> 'parse_format(' as it's become a lot more than just colors.
strip \x08 (in case hexchat users paste it) (print_activity.py, src.utils.irc)
2019-01-13 21:56:36 +00:00
jesopo
97b7249989 don't consume 3 digits for a colour code when the first char is 0 and the second
two chars make up a valid colour code (src.utils.irc)
2019-01-13 01:54:02 +00:00
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