1234567891011121314151617181920212223242526272829303132333435 |
- import sys
- def main(args=None):
- if args is None:
- args = sys.argv[1:]
- # TODO Handle library-wide options. Eg.:
- # --unicodedata
- # --verbose / other logging stuff
- # TODO Allow a way to run arbitrary modules? Useful for setting
- # library-wide options and calling another library. Eg.:
- #
- # $ fonttools --unicodedata=... fontmake ...
- #
- # This allows for a git-like command where thirdparty commands
- # can be added. Should we just try importing the fonttools
- # module first and try without if it fails?
- if len(sys.argv) < 2:
- sys.argv.append("help")
- if sys.argv[1] == "-h" or sys.argv[1] == "--help":
- sys.argv[1] = "help"
- mod = "fontTools." + sys.argv[1]
- sys.argv[1] = sys.argv[0] + " " + sys.argv[1]
- del sys.argv[0]
- import runpy
- runpy.run_module(mod, run_name="__main__")
- if __name__ == "__main__":
- sys.exit(main())
|