1234567891011121314151617181920212223242526272829303132333435 |
- import pkgutil
- import sys
- import fontTools
- import importlib
- import os
- from pathlib import Path
- def main():
- """Show this help"""
- path = fontTools.__path__
- descriptions = {}
- for pkg in sorted(
- mod.name
- for mod in pkgutil.walk_packages([fontTools.__path__[0]], prefix="fontTools.")
- ):
- try:
- imports = __import__(pkg, globals(), locals(), ["main"])
- except ImportError as e:
- continue
- try:
- description = imports.main.__doc__
- if description:
- pkg = pkg.replace("fontTools.", "").replace(".__main__", "")
- # show the docstring's first line only
- descriptions[pkg] = description.splitlines()[0]
- except AttributeError as e:
- pass
- for pkg, description in descriptions.items():
- print("fonttools %-25s %s" % (pkg, description), file=sys.stderr)
- if __name__ == "__main__":
- print("fonttools v%s\n" % fontTools.__version__, file=sys.stderr)
- main()
|