Browse Source

Replace hacky module importing (taken from snscrape commit aa7d7d3d)

tags/v1.0
JustAnotherArchivist 1 year ago
parent
commit
4d6a423fb5
1 changed files with 11 additions and 9 deletions
  1. +11
    -9
      codearchiver/modules/__init__.py

+ 11
- 9
codearchiver/modules/__init__.py View File

@@ -1,15 +1,17 @@
import importlib
import os
import codearchiver.core
import pkgutil


__all__ = []


def _import_modules():
files = os.listdir(__path__[0])
for fn in files:
if fn.endswith('.py') and fn != '__init__.py':
# Import module if not already imported
moduleName = f'codearchiver.modules.{fn[:-3]}'
module = importlib.import_module(moduleName)
prefixLen = len(__name__) + 1
for importer, moduleName, isPkg in pkgutil.iter_modules(__path__, prefix = f'{__name__}.'):
assert not isPkg
moduleNameWithoutPrefix = moduleName[prefixLen:]
__all__.append(moduleNameWithoutPrefix)
module = importer.find_module(moduleName).load_module(moduleName)
globals()[moduleNameWithoutPrefix] = module


_import_modules()

Loading…
Cancel
Save