aboutsummaryrefslogtreecommitdiff
path: root/src/ModuleManager.py
Commit message (Collapse)AuthorAgeFilesLines
* support @utils.export on functions, to export those functionsGravatar jesopo2020-02-191-7/+9
|
* add ModuleManager.try_reload_module(), use it for !reloadmoduleGravatar jesopo2020-02-091-0/+14
|
* handle git being in a detached head state when getting current commitGravatar jesopo2020-02-081-2/+3
|
* store timestamp and current git commit when loading a moduleGravatar jesopo2020-02-031-3/+8
|
* move "dont unload core modules" to where it won't affect reloadsGravatar jesopo2020-01-281-3/+4
|
* refuse to unload core modulesGravatar jesopo2020-01-281-39/+36
|
* add module name collision check to before import and hooksGravatar jesopo2020-01-281-4/+4
|
* add data_directory() func to BaseModule, to get path to data fileGravatar jesopo2020-01-271-15/+21
|
* fix ModuleManager.find_module() - don't set `path` until it's actually foundGravatar jesopo2019-12-101-7/+6
|
* fix typos, type hinting and missed changes in ModuleManagerGravatar jesopo2019-12-101-3/+3
|
* move core modules to src/core_modules, make them uneffected by white/black listGravatar jesopo2019-12-101-28/+38
|
* remove -m/-M and BaseModule.command_line - it doesn't work any moreGravatar jesopo2019-12-071-3/+0
|
* refactor commands (mostly stdout/stderr) and split typing/reply outGravatar jesopo2019-11-221-4/+6
| | | | closes #208
* dont expose has_magic/get_magic in utils/__init__.py, ref directlyGravatar jesopo2019-11-151-4/+5
|
* add on_pause() and on_resume() for module - use in rest_api.pyGravatar jesopo2019-11-041-0/+10
|
* Fix type errors detected by 'mypy --ignore-missing-imports src'.Gravatar Valentin Lorentz2019-10-301-5/+6
|
* remove `safe` arg from ModuleManager.load_modules() - try_reload_modules ↵Gravatar jesopo2019-10-141-1/+1
| | | | covers this now
* add ModuleManager.try_reload_modules(), to try reloading in a transactionGravatar jesopo2019-10-141-21/+46
| | | | if any of the modules fails to reload, rollback and use the already loaded modules. closes #179
* refactor out chosing loadable modules in to _list_valid_modules()Gravatar jesopo2019-10-141-23/+35
|
* add external_modules directoryGravatar jesopo2019-09-271-17/+28
|
* actually prune non-loadable modules before doing dependency checksGravatar jesopo2019-09-021-12/+33
|
* Refactor hook kwargs to be stored as a list of tuples to support key duplicatesGravatar jesopo2019-07-281-1/+1
| | | | closes #108
* switch to function/module magic being a single objectGravatar jesopo2019-07-261-14/+8
|
* implement @utils.kwarg() magic, use it for command.regex hooksGravatar jesopo2019-06-261-4/+16
|
* Refactor EventManager to only hold hooks on a root objectGravatar jesopo2019-06-261-2/+2
|
* Differentiate between module "not found" and "not loaded"Gravatar jesopo2019-06-191-1/+4
|
* Raise ModuleNotFoundException on failure to find_module()Gravatar jesopo2019-06-191-0/+3
|
* Give requested module name to ModuleNotFoundExceptionGravatar jesopo2019-06-191-1/+1
|
* Make 'circular dependency' WARN more explicitly about 1-to-1 dependenciesGravatar jesopo2019-06-051-1/+1
|
* append ".py" when doing find_module on ModuleType.FILEGravatar jesopo2019-05-271-0/+2
|
* set `changed = True` when we pop a module with no dependencies leftGravatar jesopo2019-05-271-1/+2
|
* Throw an exception when we detect a complex circular dependencyGravatar jesopo2019-05-271-0/+5
|
* Only check for unknown dependencies onceGravatar jesopo2019-05-261-6/+14
|
* Only iterate a module's deps, not all modules, when checking for circular depsGravatar jesopo2019-05-261-6/+6
|
* 'cicular' -> 'circular', words are hardGravatar jesopo2019-05-261-2/+2
|
* 'cycular' -> 'cicular'Gravatar jesopo2019-05-261-1/+1
|
* Add basic comments for dependency-sorting systemGravatar jesopo2019-05-251-0/+3
|
* Implement ordering modules by `depends-on` hashflagGravatar jesopo2019-05-251-10/+45
|
* Fix utils.parse.hashflags type hintsGravatar jesopo2019-05-251-1/+1
|
* Refactor ModuleManagerGravatar jesopo2019-05-251-46/+83
|
* Move module black/white list to IRCBot, allow "safe" loading of all modulesGravatar jesopo2019-05-121-2/+14
|
* Hold context in EventCallback objects, add name<->context translation inGravatar jesopo2019-05-101-0/+12
| | | | ModuleManager
* Add -m/-M args to ./start.py that call `command_line` on individual modulesGravatar jesopo2019-02-241-1/+6
|
* Also unload submodules within packages (ModuleManager.py)Gravatar jesopo2019-02-221-0/+6
|
* Fix mypy typing issue with importspec loader Optionalness (src/ModuleManager.py)Gravatar jesopo2019-02-061-1/+2
|
* Switch to using __init__.py as main file of directory modules, so they behaveGravatar jesopo2019-02-051-3/+4
| | | | like a package (also put the modules manually in sys.modules
* Switch to a non-deprecated method of loading files by filenameGravatar jesopo2019-02-051-2/+4
| | | | (`importlib.util.spec_from_file_location`)
* Support modules being in their own folder and move github.py to github/module.pyGravatar jesopo2019-01-181-5/+23
|
* By the time we take ref counts, we've already removed `module` fromGravatar jesopo2018-12-091-2/+2
| | | | `loaded_module`
* change `self.modules` to be a dict of str:LoadedModule, not str:BaseModuleGravatar jesopo2018-12-091-2/+2
|