Commit graph

51 commits

Author SHA1 Message Date
jesopo
2b19c337f0 don't call hooks added during event call and don't call ones removed 2020-02-15 20:42:18 +00:00
jesopo
fc8e0f718c another rework of event priorities. insert as >=, not as default 2020-02-13 23:56:04 +00:00
jesopo
94197b33a2 insert new hooks at the start of their priority, to prevent duplicates on reload 2020-02-09 10:14:14 +00:00
jesopo
7a15e5b2bf store timestamp and current git commit when loading a module 2020-02-03 23:00:53 +00:00
Valentin Lorentz
fbf8cd1a16 Fix type errors detected by 'mypy --ignore-missing-imports src'. 2019-10-30 22:26:59 +01:00
jesopo
9b349f8cc0 move typing.Callable def so Event doesn't have to be in " " 2019-10-29 18:00:59 +00:00
jesopo
a48aececfd EventRoot._hook's kwarg should be a list of tuples 2019-09-16 15:34:34 +01:00
jesopo
dd8b276b35 pull priority out of kwargs in _hook 2019-07-30 15:24:13 +01:00
jesopo
27a6078f20 Revert "hook priority position should default to 0, not end"
This reverts commit ff0cc59507.
2019-07-30 15:23:13 +01:00
jesopo
5ffe2941e8 Revert "we should be checking if the new hook has a higher priority"
This reverts commit b145e664e1.
2019-07-30 15:23:05 +01:00
jesopo
b145e664e1 we should be checking if the new hook has a higher priority 2019-07-30 15:12:29 +01:00
jesopo
ff0cc59507 hook priority position should default to 0, not end 2019-07-30 15:09:34 +01:00
jesopo
ad8f66c00e Remove debug print 2019-07-28 18:14:44 +01:00
jesopo
9827feeabd 'name' -> 'key' (copypaste fail) 2019-07-28 18:07:01 +01:00
jesopo
25b507e80c Refactor hook kwargs to be stored as a list of tuples to support key duplicates
closes #108
2019-07-28 12:35:04 +01:00
jesopo
304fcdaebb gotta str()-ify kwargs before logging it 2019-07-15 14:27:55 +01:00
Mikaela Suomalainen
2f18414cb7
src/EventManager.py: fix typo defualt -> default 2019-07-13 13:04:37 +03:00
jesopo
4bf5c4783b Re-add EventManager check to prevent _call() outside main thread 2019-06-26 11:42:23 +01:00
jesopo
bb749b111f Refactor EventManager to only hold hooks on a root object 2019-06-26 11:01:09 +01:00
jesopo
3eac36d0f5 Restrict EventManager calls to the main thread 2019-06-22 12:21:44 +01:00
jesopo
18004c23e1 Don't fail get_kwarg when self.kwarg[name] is falsey 2019-06-16 18:39:56 +01:00
jesopo
67b4aa69e2 check_purge() after removing a context as it could make a hook purgable 2019-06-05 16:56:02 +01:00
jesopo
8dbae6a5e9 Give SentLine (and preproc.send events) a new event object, to track events
related to a line after it is sent
2019-06-04 17:51:20 +01:00
jesopo
7671dd2086 Switch back to events.name defaulting to None, use typing.cast to fix linting
error
2019-05-18 21:14:28 +01:00
jesopo
d64d12f8fd give EventCallbacks their event name 2019-05-18 18:35:23 +01:00
jesopo
091818fa32 Hold context in EventCallback objects, add name<->context translation in
ModuleManager
2019-05-10 16:11:22 +01:00
jesopo
708ba2ddc7 Support one-shot event hooks (src/EventManager.py) 2019-02-14 10:36:11 +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
bae1fac147 Add returns type hint in EventManager.py.call 2018-12-06 10:15:12 +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
10f84f970d Clarify/fix type hints throughout EventManager.py 2018-12-02 10:04:05 +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
8300c84f6a Log event timing in 1 message, not 2 2018-11-14 23:08:39 +00:00
jesopo
b543e31cd2 Fix/refactor issues brought up by type hint linting 2018-10-30 17:49:35 +00:00
jesopo
e07553c362 Add type/return hints throughout src/ and, in doing so, fix some cyclical
references.
2018-10-30 14:58:48 +00:00
jesopo
6c6d593e6d Only log exceptions when they're not unsafe 2018-10-16 14:53:37 +01:00
jesopo
69d58eede2 Move src/Utils.py in to src/utils/, splitting functionality out in to modules of
related functionality
2018-10-03 13:22:37 +01:00
jesopo
3201f198da EventHook._call takes 3 args 2018-10-01 16:33:04 +01:00
jesopo
7eb31820d7 Add call_unsafe functions to EventManager.EventHook, to not swallow errors on
specific function calls (e.g. preprocess.command)
2018-10-01 16:04:06 +01:00
jesopo
120acf54ec Add 'trace' logging level for src/Database.py and src/EventManager.py very
verbose debugging
2018-10-01 13:48:22 +01:00
jesopo
10ef985a8a Switch to using docstring for usage, permission and require_mode 2018-09-30 17:29:09 +01:00
jesopo
bcb67db3fd Add !reloadscripts to modules/scripts.py 2018-09-29 15:05:50 +01:00
jesopo
df2ebfb315 Give EventHook objects their full delimited event name 2018-09-29 09:24:10 +01:00
jesopo
6c63655a6e Pass parent EventHook down to children 2018-09-27 12:16:30 +01:00
jesopo
af2b34b92b Don't give IRCBot instance to things that don't need it, use a better way of
doing default locations for config/database/log
2018-09-27 11:07:29 +01:00
jesopo
f261b6d744 Create delimited|multiple|events from the correct EventHook when using
delimited.event.chains
2018-09-26 20:28:05 +01:00
jesopo
4d41848b57 Also use docstrings to check if a command has help available, allow one-string
denotation of multiple event hooks
2018-09-26 18:26:29 +01:00