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())