mirror of
https://github.com/LCPQ/QUESTDB_website.git
synced 2024-12-25 13:53:48 +01:00
Dynamically import format handlers
This commit is contained in:
parent
1bfc45de52
commit
d08fb1da6e
@ -1,8 +1,24 @@
|
|||||||
from .lineHandler import lineHandler
|
from inspect import isclass
|
||||||
from .columnHandler import columnHandler
|
from pkgutil import iter_modules
|
||||||
from .doubleColumnHandler import doubleColumnHandler
|
from pathlib import Path
|
||||||
from .TBEHandler import TBEHandler
|
from importlib import import_module
|
||||||
from .doubleTBEHandler import doubleTBEHandler
|
from ..formatHandlerBase import formatHandlerBase
|
||||||
from .exoticColumnHandler import exoticColumnHandler
|
|
||||||
from .fromXLSToLaTeXHandler import fromXLSToLaTeXHandler
|
# iterate through the modules in the current package
|
||||||
from .CTHandlers import CT1Handler, CT2Handler
|
package_dir = Path(__file__).resolve().parent
|
||||||
|
for (_, module_name, _) in iter_modules([package_dir]):
|
||||||
|
|
||||||
|
# import the module and iterate through its attributes
|
||||||
|
module = import_module(f"{__name__}.{module_name}")
|
||||||
|
|
||||||
|
# iterate through the modules in the current package
|
||||||
|
package_dir = Path(__file__).resolve().parent
|
||||||
|
for (_, module_name, _) in iter_modules([package_dir]):
|
||||||
|
|
||||||
|
# import the module and iterate through its attributes
|
||||||
|
module = import_module(f"{__name__}.{module_name}")
|
||||||
|
for attribute_name in dir(module):
|
||||||
|
attribute = getattr(module, attribute_name)
|
||||||
|
# if it's a format handler import it
|
||||||
|
if isclass(attribute) and issubclass(attribute, formatHandlerBase) and hasattr(attribute, '__formatName__'):
|
||||||
|
globals()[attribute_name] = attribute
|
Loading…
Reference in New Issue
Block a user