aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/__main__.py
blob: 9b978aaa7414411f48865e206aadbe28ac130ff0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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())