Source code for erin.cli.scaffold

from cookiecutter.main import cookiecutter

from erin.cli import CommandFactory


[docs]class ScaffoldCommand(CommandFactory): def __init__(self, parser, *args, **kwargs): self.parser = parser.add_parser(*args, **kwargs) self.parser.set_defaults(action=self.run)
[docs] def run(self, *sys_args, **kwargs): print("Enter the details for your project below!") extra_context = { "project_name": ("Project Name", "Bot"), "project_slug": ("Project Slug", "bot"), "version": ("Version Number", "0.0.0.dev0"), "config_file": ("Configuration File Name", "config.toml"), "_copy_without_render": ["plugins/*"], } for key, val in extra_context.items(): if isinstance(val, tuple): setting = input(f"{val[0]} [{val[1]}]: ") if len(setting.strip()) == 0: extra_context[key] = val[1] else: extra_context[key] = setting cookiecutter( "https://github.com/OpenDebates/cookiecutter-erin.git", no_input=True, extra_context=extra_context, )