diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-01-09 16:45:32 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-01-09 16:45:32 +0000 |
commit | b092a66c21cb977a872d2b45d8edec31d96eeb28 (patch) | |
tree | 3402b26fa0939782153090ad1d169b0073bf3122 /baserockimport/app.py | |
parent | 45c31c5d34d5c98627af3953027a2a8a35adfce4 (diff) | |
parent | e0cf555d06901e8c83f5166b2731dab3a5f46072 (diff) | |
download | import-b092a66c21cb977a872d2b45d8edec31d96eeb28.tar.gz |
Merge remote-tracking branch 'zara-github/trynew'
Reviewed-By: Jim MacArthur <jim.macarthur@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
Diffstat (limited to 'baserockimport/app.py')
-rw-r--r-- | baserockimport/app.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/baserockimport/app.py b/baserockimport/app.py index 2ab2c87..cd3203e 100644 --- a/baserockimport/app.py +++ b/baserockimport/app.py @@ -78,6 +78,8 @@ class BaserockImportApplication(cliapp.Application): return False def setup(self): + self.add_subcommand('npm', self.import_npm, + arg_synopsis='PACKAGE [VERSION]') self.add_subcommand('omnibus', self.import_omnibus, arg_synopsis='REPO PROJECT_NAME SOFTWARE_NAME') self.add_subcommand('rubygems', self.import_rubygems, @@ -170,6 +172,22 @@ class BaserockImportApplication(cliapp.Application): loop.enable_importer('rubygems') loop.run() + def import_npm(self, args): + '''Import one or more Node.js npm packages.''' + if len(args) not in [1, 2]: + raise cliapp.AppException( + 'Please pass the name and version of an npm package on the ' + 'commandline.') + + goal_name = args[0] + goal_version = args[1] if len(args) == 2 else 'master' + + loop = baserockimport.mainloop.ImportLoop( + app=self, + goal_kind='npm', goal_name=goal_name, goal_version=goal_version) + loop.enable_importer('npm', strata=['strata/nodejs.morph']) + loop.run() + def import_rubygems(self, args): '''Import one or more RubyGems.''' if len(args) not in [1, 2]: |