2020-05-06 20:14:03 +01:00
|
|
|
from argparse import ArgumentParser
|
|
|
|
|
import importlib
|
|
|
|
|
import tempfile
|
|
|
|
|
import sys
|
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
parser = ArgumentParser(
|
2020-05-17 16:54:33 +01:00
|
|
|
prog="python -m test.test_projects",
|
|
|
|
|
description='Generate a test project to check it out'
|
2020-05-06 20:14:03 +01:00
|
|
|
)
|
|
|
|
|
parser.add_argument('PROJECT', help='''
|
|
|
|
|
Python path to a project object. E.g. test.test_0_basic.basic_project
|
|
|
|
|
''')
|
|
|
|
|
options = parser.parse_args()
|
|
|
|
|
|
|
|
|
|
module, _, name = options.PROJECT.rpartition('.')
|
|
|
|
|
|
|
|
|
|
project = getattr(importlib.import_module(module), name)
|
|
|
|
|
|
|
|
|
|
project_dir = tempfile.mkdtemp()
|
|
|
|
|
project.generate(project_dir)
|
|
|
|
|
|
|
|
|
|
print('Project generated at', project_dir)
|
|
|
|
|
print()
|
|
|
|
|
|
|
|
|
|
if sys.platform == 'darwin':
|
|
|
|
|
subprocess.check_call(['open', '--', project_dir])
|
|
|
|
|
elif sys.platform == 'linux2':
|
|
|
|
|
subprocess.check_call(['xdg-open', '--', project_dir])
|
|
|
|
|
elif sys.platform == 'win32':
|
|
|
|
|
subprocess.check_call(['explorer', project_dir])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
main()
|