boxespy/scripts/boxes

54 lines
1.4 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env python3
2016-03-23 22:15:34 +01:00
from __future__ import print_function
2016-03-23 22:15:34 +01:00
import argparse
import os
import sys
from pprint import pprint
try:
import boxes
except ImportError:
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + "/..")
import boxes
import boxes.generators
2016-03-23 22:15:34 +01:00
def printusage():
print("""Usage:
boxes [NAME] [options]
--list list possible names
--help show help for given NAME
""")
def main():
modules = boxes.generators.getAllGeneratorModules()
del modules['_template']
2017-03-09 17:42:37 +01:00
if len(sys.argv) > 1 and sys.argv[1].startswith("--id="):
del sys.argv[1]
2016-03-23 22:15:34 +01:00
if len(sys.argv) == 1:
printusage()
elif (sys.argv[1] in modules or
(sys.argv[1].startswith("--generator=") and
sys.argv[1][12:] in modules)):
if sys.argv[1].startswith("--generator="):
sys.argv[1] = sys.argv[1][12:]
2016-03-23 22:15:34 +01:00
name = sys.argv[1]
sys.argv[0] = "%s %s" % (sys.argv[0], sys.argv[1])
sys.argv[1] = '--tab="0"'
del sys.argv[0]
2016-03-23 22:15:34 +01:00
del sys.argv[1]
modules[name].main()
elif sys.argv[1] == '--list':
print("Available generators:")
for name in sorted(modules):
if not hasattr(modules[name], "main"):
continue
2016-03-23 22:15:34 +01:00
print(" * ", name)
else:
sys.stderr.write(str(sys.argv))
sys.stderr.write("Unknown generator name. Use boxes --list to get a list of available commands.")
2016-03-23 22:15:34 +01:00
main()