aboutsummaryrefslogtreecommitdiff
path: root/src/ModuleManager.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Add missing change to `loaded_module.module` (from `module`) in unload_moduleGravatar jesopo2018-12-091-1/+1
|
* `def LoadedModule` -> `class LoadedModule`Gravatar jesopo2018-12-091-2/+5
|
* Don't store any information used to load/unload modules on the module it's selfGravatar jesopo2018-12-091-21/+31
| | | | thus preventing even the possibility that modules can change them
* Further clarification of type hints in ModuleManager.py, including now making itGravatar jesopo2018-12-021-2/+5
| | | | explicit that module objects MUST inherit from BaseModule
* Use `getattr` to get `Module` classes out of modules in ModuleManager.py; thisGravatar jesopo2018-12-021-4/+5
| | | | makes more sense and removes some errors from type linting
* ModuleWarnings in src/ModuleManger.py should be logged as `warn`, not `error`Gravatar jesopo2018-11-261-1/+1
|
* Better constifying of color/font charsGravatar jesopo2018-11-131-3/+3
|
* Give Logging.Log object to modulesGravatar jesopo2018-11-051-2/+4
|
* Add type/return hints throughout src/ and, in doing so, fix some cyclicalGravatar jesopo2018-10-301-19/+30
| | | | references.
* Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_loadGravatar jesopo2018-10-121-0/+3
|
* Add TimersContext, to be able to purge timers when modules are unloadedGravatar jesopo2018-10-121-3/+8
|
* Try calling module.unload() (if it exists) when unloading a moduleGravatar jesopo2018-10-041-0/+5
|
* Move src/Utils.py in to src/utils/, splitting functionality out in to modules ofGravatar jesopo2018-10-031-3/+3
| | | | related functionality
* Log remaining referrers to a module when it's unloadedGravatar jesopo2018-09-301-1/+5
|
* Move hashflag parsing to Utils.get_hashflagsGravatar jesopo2018-09-291-25/+19
|
* Remove cyclical references to IRCBotGravatar jesopo2018-09-281-16/+17
|
* Open module files explicitly as utf8 in ModuleManagerGravatar jesopo2018-09-271-2/+2
|
* Use ModuleManager.BaseModule in more modulesGravatar jesopo2018-09-271-1/+3
|
* Implement @Utils.export, to denote an export on a moduleGravatar jesopo2018-09-271-6/+9
|
* Support using docstrings as command helpGravatar jesopo2018-09-261-1/+1
|
* Add missing format args in ModuleManager exceptionsGravatar jesopo2018-09-261-2/+2
|
* Don't use assert, throw a better exception for module name collisionsGravatar jesopo2018-09-261-2/+3
|
* Use 'bitbot_%s' import name format when unloading a moduleGravatar jesopo2018-09-241-2/+4
|
* Import modules internally as 'bitbot_%s' to avoid name collisions (e.g.Gravatar jesopo2018-09-241-1/+1
| | | | 'telegram')
* Move most code in root directory to src/Gravatar jesopo2018-09-241-0/+147