示例#1
0
def run(pkgname: str) -> None:
    p = subprocess.run(["pyinspect", "list", pkgname],
                       text=True,
                       stdout=subprocess.PIPE)
    a = Accessor()
    r = a.make_dict()
    for module_name in p.stdout.split():
        try:
            m = importlib.import_module(module_name)
        except Exception as e:
            print(f"\x1b[32m!! {e!r} \x1b[0m", file=sys.stderr)
        for name, val in m.__dict__.items():
            if inspect.isclass(val):
                a.assign(r, [module_name, name], inspect.getdoc(val))
            elif inspect.isfunction(val):
                a.assign(r, [module_name, name], inspect.getdoc(val))
    loading.dumpfile(r)
示例#2
0
import subprocess
import importlib
import inspect
from dictknife import Accessor
from dictknife import loading

p = subprocess.run(
    ["pyinspect", "list", "marshmallow"], text=True, stdout=subprocess.PIPE
)
a = Accessor()
r = a.make_dict()
for module_name in p.stdout.split():
    m = importlib.import_module(module_name)
    for name, val in m.__dict__.items():
        if inspect.isclass(val):
            a.assign(r, [module_name, name], inspect.getdoc(val))
        elif inspect.isfunction(val):
            a.assign(r, [module_name, name], inspect.getdoc(val))
loading.dumpfile(r)