diff --git a/peru/main.py b/peru/main.py index 05da9883..21014a65 100644 --- a/peru/main.py +++ b/peru/main.py @@ -221,6 +221,59 @@ def do_override(params): print('{}: {}'.format(module, params.runtime.get_override(module))) +@peru_command('module', '''\ +Usage: + peru module add [] [] [] [--rev=] [--reup=] + [--filename=] [--sha=] [--unpack=] [--yaml=] + peru module --help + +Add a module to your Peru yaml file. Reguires a module name, url, and module type. + +Options: + add add new module + --rev= set module rev value + --reup= set module reup value + --filename= set module filemame value + --sha= set module sha1 value + --unpack= set module unpack value + --yaml= file to use instead of peru.yaml + --help +''') +def do_add(params): + if params.args['add']: + if not params.args['']: + params.runtime.display.print('Please specify a module to add. See usage with peru module --help') + elif not params.args['']: + params.runtime.display.print('Please specify a module url. See usage with peru module --help') + elif not params.args['']: + params.runtime.display.print('Please specify a module type. See usage with peru module --help') + else: + peru_file = params.args['--yaml'] if params.args['--yaml'] else 'peru.yaml' + + if(peru_file[-5:] != '.yaml'): + params.runtime.display.print('Peru file should end in .yaml. See usage with peru add --help') + + else: + with open(peru_file, "a") as yaml: + yaml.write('\n' + params.args[''] + ' module ' + params.args[''] + ':') + if(params.args['']): + yaml.write('\n url: ' + params.args['']) + if(params.args['--rev']): + yaml.write('\n rev: ' + params.args['--rev']) + if(params.args['--reup']): + yaml.write('\n reup: ' + params.args['--reup']) + if(params.args['--filename']): + yaml.write('\n filename: ' + params.args['--filename']) + if(params.args['--sha']): + yaml.write('\n sha: ' + params.args['--sha']) + if(params.args['--unpack']): + yaml.write('\n unpack: ' + params.args['--unpack']) + yaml.write('\n') + yaml.close() + + params.runtime.display.print('{} module added to {}'.format(params.args[''], peru_file)) + + def get_version(): version_file = os.path.join(compat.MODULE_ROOT, 'VERSION') with open(version_file) as f: