]>
Commit | Line | Data |
---|---|---|
8c3ae071 JZ |
1 | #!/usr/bin/env node |
2 | ||
3 | 'use strict'; | |
4 | ||
5 | var program = require('commander'), | |
6 | actions = require('./actions'); | |
7 | ||
8fa08229 | 8 | program.version(require('../package.json').version); |
8c3ae071 | 9 | |
ec4c48f2 JZ |
10 | // Those override the login settings if provided |
11 | program.option('-s, --server <url>', 'Server URL (optional)'); | |
12 | program.option('-t, --token <access token>', 'Server Access Token (optional)'); | |
13 | ||
32fbb54d | 14 | program.command('login <url>') |
8c3ae071 | 15 | .description('Login to server') |
ff4aca50 JZ |
16 | .option('--username [username]', 'Username (optional)') |
17 | .option('--password [password]', 'Password (optional)') | |
8c3ae071 JZ |
18 | .action(actions.login); |
19 | ||
15397f71 JZ |
20 | program.command('logout') |
21 | .description('Logout from server') | |
22 | .action(actions.logout); | |
23 | ||
511ce661 | 24 | program.command('put <file|dir...>') |
d53a1669 | 25 | .option('-a --all', 'Also include hidden files and folders.', false) |
511ce661 GR |
26 | .description('Puts a list of files or dirs to the destination. The last argument is destination dir') |
27 | .action(actions.put) | |
28 | .on('--help', function() { | |
29 | console.log(); | |
30 | console.log(' Examples:'); | |
31 | console.log(); | |
32 | console.log(' $ surfer put file.txt / # puts to /file.txt'); | |
33 | console.log(' $ surfer put file.txt /data # puts to /data/file.txt'); | |
34 | console.log(' $ surfer put dir /data # puts dir/* as /data/dir/*'); | |
35 | console.log(' $ surfer put dir/. / # puts dir/* as /app/data/*'); | |
36 | console.log(' $ surfer put dir1 dir2 file1 / # puts as /dir1/* /dir2/* and /file'); | |
37 | console.log(); | |
38 | }); | |
8c3ae071 | 39 | |
410ee66f | 40 | program.command('get [file|dir]') |
24545229 | 41 | .description('Get a file or directory listing') |
8c3ae071 JZ |
42 | .action(actions.get); |
43 | ||
24545229 | 44 | program.command('del <file>') |
898fe7c8 JZ |
45 | .option('-r --recursive', 'Recursive delete directories.', false) |
46 | .option('-d --dry-run', 'Only list files to delete.', false) | |
24545229 | 47 | .description('Delete a file or directory') |
8c3ae071 JZ |
48 | .action(actions.del); |
49 | ||
50 | program.parse(process.argv); | |
51 | ||
52 | if (!process.argv.slice(2).length) { | |
53 | program.outputHelp(); | |
54 | } else { // https://github.com/tj/commander.js/issues/338 | |
ec4c48f2 JZ |
55 | // var knownCommand = program.commands.some(function (command) { return command._name === process.argv[2]; }); |
56 | // if (!knownCommand) { | |
57 | // console.error('Unknown command: ' + process.argv[2]); | |
58 | // process.exit(1); | |
59 | // } | |
8c3ae071 | 60 | } |