mpw 3.2.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/mpw-config ADDED
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ values = {}
29
+
30
+ OptionParser.new do |opts|
31
+ opts.banner = "#{I18n.t('option.usage')}: mpw config [options]"
32
+
33
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
34
+ options[:config] = config
35
+ end
36
+
37
+ opts.on('-d', '--default-wallet NAME', I18n.t('option.default_wallet')) do |default_wallet|
38
+ values[:default_wallet] = default_wallet
39
+ end
40
+
41
+ opts.on('-g', '--gpg-exe PATH', I18n.t('option.gpg_exe')) do |gpg_exe|
42
+ values[:gpg_exe] = gpg_exe
43
+ end
44
+
45
+ opts.on('-h', '--help', I18n.t('option.help')) do
46
+ puts opts
47
+ exit 0
48
+ end
49
+
50
+ opts.on('-i', '--init GPG_KEY', I18n.t('option.init')) do |gpg_key|
51
+ options[:init] = true
52
+ values[:gpg_key] = gpg_key
53
+ end
54
+
55
+ opts.on('-k', '--key GPG_KEY', I18n.t('option.gpg_key')) do |gpg_key|
56
+ values[:gpg_key] = gpg_key
57
+ end
58
+
59
+ opts.on('-L', '--lang LANG', I18n.t('option.lang')) do |lang|
60
+ values[:lang] = lang
61
+ end
62
+
63
+ opts.on('-w', '--wallet-dir PATH', I18n.t('option.wallet_dir')) do |wallet_dir|
64
+ values[:wallet_dir] = wallet_dir
65
+ end
66
+
67
+ opts.on('-l', '--length NUMBER', I18n.t('option.length')) do |length|
68
+ values[:pwd_length] = length.to_i
69
+ end
70
+
71
+ opts.on('-n', '--numeric', I18n.t('option.numeric')) do
72
+ values[:pwd_numeric] = true
73
+ end
74
+
75
+ opts.on('-N', '--disable-numeric', I18n.t('option.disable_numeric')) do
76
+ values[:pwd_numeric] = false
77
+ end
78
+
79
+ opts.on('-s', '--special-chars', I18n.t('option.special_chars')) do
80
+ values[:pwd_special] = true
81
+ end
82
+
83
+ opts.on('-S', '--disable_special-chars', I18n.t('option.special_chars')) do
84
+ values[:pwd_special] = false
85
+ end
86
+
87
+ opts.on('-a', '--alpha', I18n.t('option.alpha')) do
88
+ values[:pwd_alpha] = true
89
+ end
90
+
91
+ opts.on('-A', '--disable-alpha', I18n.t('option.disable_alpha')) do
92
+ values[:pwd_alpha] = false
93
+ end
94
+ end.parse!
95
+
96
+ config = MPW::Config.new(options[:config])
97
+ cli = MPW::Cli.new(config, nil)
98
+
99
+ if options.has_key?(:init)
100
+ cli.setup(values)
101
+ cli.load_config
102
+ cli.get_wallet
103
+ cli.setup_gpg_key(values[:gpg_key])
104
+ cli.setup_wallet_config
105
+ else
106
+ cli.load_config
107
+ cli.set_config(values)
108
+ end
data/bin/mpw-copy ADDED
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+ options[:clipboard] = true
30
+ values = {}
31
+
32
+ OptionParser.new do |opts|
33
+ opts.banner = "#{I18n.t('option.usage')}: mpw copy [options]"
34
+
35
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
36
+ options[:config] = config
37
+ end
38
+
39
+ opts.on('-d', '--disable-clipboard', I18n.t('option.clipboard')) do
40
+ options[:clipboard] = false
41
+ end
42
+
43
+ opts.on('-g', '--group NAME', I18n.t('option.group')) do |group|
44
+ values[:group] = group
45
+ end
46
+
47
+ opts.on('-h', '--help', I18n.t('option.help')) do
48
+ puts opts
49
+ exit 0
50
+ end
51
+
52
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
53
+ options[:sync] = false
54
+ end
55
+
56
+ opts.on('-p', '--pattern PATTERN', I18n.t('option.pattern')) do |pattern|
57
+ values[:pattern] = pattern
58
+ end
59
+
60
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
61
+ options[:wallet] = wallet
62
+ end
63
+ end.parse!
64
+
65
+ config = MPW::Config.new(options[:config])
66
+ cli = MPW::Cli.new(config, options[:sync])
67
+
68
+ cli.load_config
69
+ cli.get_wallet(options[:wallet])
70
+ cli.decrypt
71
+ cli.copy(options[:clipboard], values)
data/bin/mpw-delete ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+ values = {}
30
+
31
+ OptionParser.new do |opts|
32
+ opts.banner = "#{I18n.t('option.usage')}: mpw delete [options]"
33
+
34
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
35
+ options[:config] = config
36
+ end
37
+
38
+ opts.on('-g', '--group NAME', I18n.t('option.group')) do |group|
39
+ values[:group] = group
40
+ end
41
+
42
+ opts.on('-h', '--help', I18n.t('option.help')) do
43
+ puts opts
44
+ exit 0
45
+ end
46
+
47
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
48
+ options[:sync] = false
49
+ end
50
+
51
+ opts.on('-p', '--pattern PATTERN', I18n.t('option.pattern')) do |pattern|
52
+ values[:pattern] = pattern
53
+ end
54
+
55
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
56
+ options[:wallet] = wallet
57
+ end
58
+ end.parse!
59
+
60
+ config = MPW::Config.new(options[:config])
61
+ cli = MPW::Cli.new(config, options[:sync])
62
+
63
+ cli.load_config
64
+ cli.get_wallet(options[:wallet])
65
+ cli.decrypt
66
+ cli.delete(values)
data/bin/mpw-export ADDED
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+ values = {}
30
+
31
+ OptionParser.new do |opts|
32
+ opts.banner = "#{I18n.t('option.usage')}: mpw wallet [options]"
33
+
34
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
35
+ options[:config] = config
36
+ end
37
+
38
+ opts.on('-f', '--file PATH', I18n.t('option.file_export')) do |file|
39
+ options[:file] = file
40
+ end
41
+
42
+ opts.on('-g', '--group GROUP', I18n.t('option.group')) do |group|
43
+ values[:group] = group
44
+ end
45
+
46
+ opts.on('-h', '--help', I18n.t('option.help')) do
47
+ puts opts
48
+ exit 0
49
+ end
50
+
51
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
52
+ options[:sync] = false
53
+ end
54
+
55
+ opts.on('-p', '--pattern PATTERN', I18n.t('option.pattern')) do |pattern|
56
+ values[:pattern] = pattern
57
+ end
58
+
59
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
60
+ options[:wallet] = wallet
61
+ end
62
+ end.parse!
63
+
64
+ config = MPW::Config.new(options[:config])
65
+ cli = MPW::Cli.new(config, options[:sync])
66
+
67
+ cli.load_config
68
+ cli.get_wallet(options[:wallet])
69
+ cli.decrypt
70
+ cli.export(options[:file], values)
data/bin/mpw-genpwd ADDED
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/mpw'
21
+
22
+ options = {}
23
+
24
+ OptionParser.new do |opts|
25
+ opts.banner = "#{I18n.t('option.usage')}: mpw passwd [options]"
26
+
27
+ opts.on('-h', '--help', I18n.t('option.help')) do
28
+ puts opts
29
+ exit 0
30
+ end
31
+
32
+ opts.on('-l', '--length NUMBER', I18n.t('option.length')) do |length|
33
+ options[:length] = length.to_i
34
+ end
35
+
36
+ opts.on('-n', '--numeric', I18n.t('option.numeric')) do
37
+ options[:numeric] = true
38
+ end
39
+
40
+ opts.on('-s', '--special-chars', I18n.t('option.special_chars')) do
41
+ options[:special] = true
42
+ end
43
+
44
+ opts.on('-a', '--alpha', I18n.t('option.alpha')) do
45
+ options[:alpha] = true
46
+ end
47
+ end.parse!
48
+
49
+ puts MPW::MPW::password(options)
50
+ exit 0
data/bin/mpw-import ADDED
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+
30
+ OptionParser.new do |opts|
31
+ opts.banner = "#{I18n.t('option.usage')}: mpw import [options]"
32
+
33
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
34
+ options[:config] = config
35
+ end
36
+
37
+ opts.on('-f', '--file PATH', I18n.t('option.file_import')) do |file|
38
+ options[:file] = file
39
+ end
40
+
41
+ opts.on('-h', '--help', I18n.t('option.help')) do
42
+ puts opts
43
+ exit 0
44
+ end
45
+
46
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
47
+ options[:sync] = false
48
+ end
49
+
50
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
51
+ options[:wallet] = wallet
52
+ end
53
+ end.parse!
54
+
55
+ config = MPW::Config.new(options[:config])
56
+ cli = MPW::Cli.new(config, options[:sync])
57
+
58
+ cli.load_config
59
+ cli.get_wallet(options[:wallet])
60
+ cli.decrypt
61
+ cli.import(options[:file])
data/bin/mpw-list ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+ values = {}
30
+
31
+ OptionParser.new do |opts|
32
+ opts.banner = "#{I18n.t('option.usage')}: mpw list [options]"
33
+
34
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
35
+ options[:config] = config
36
+ end
37
+
38
+ opts.on('-g', '--group NAME', I18n.t('option.group')) do |group|
39
+ values[:group] = group
40
+ end
41
+
42
+ opts.on('-h', '--help', I18n.t('option.help')) do
43
+ puts opts
44
+ exit 0
45
+ end
46
+
47
+ opts.on('-p', '--pattern PATTERN', I18n.t('option.pattern')) do |pattern|
48
+ values[:pattern] = pattern
49
+ end
50
+
51
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
52
+ options[:sync] = false
53
+ end
54
+
55
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
56
+ options[:wallet] = wallet
57
+ end
58
+ end.parse!
59
+
60
+ config = MPW::Config.new(options[:config])
61
+ cli = MPW::Cli.new(config, options[:sync])
62
+
63
+ cli.load_config
64
+ cli.get_wallet(options[:wallet])
65
+ cli.decrypt
66
+ cli.list(values)
data/bin/mpw-update ADDED
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = true
29
+ values = {}
30
+
31
+ OptionParser.new do |opts|
32
+ opts.banner = "#{I18n.t('option.usage')}: mpw update [options]"
33
+
34
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
35
+ options[:config] = config
36
+ end
37
+
38
+ opts.on('-g', '--group NAME', I18n.t('option.group')) do |group|
39
+ values[:group] = group
40
+ end
41
+
42
+ opts.on('-h', '--help', I18n.t('option.help')) do
43
+ puts opts
44
+ exit 0
45
+ end
46
+
47
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
48
+ options[:sync] = false
49
+ end
50
+
51
+ opts.on('-p', '--pattern PATTERN', I18n.t('option.pattern')) do |pattern|
52
+ values[:pattern] = pattern
53
+ end
54
+
55
+ opts.on('-r', '--random', I18n.t('option.random_password')) do
56
+ options[:password] = true
57
+ end
58
+
59
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
60
+ options[:wallet] = wallet
61
+ end
62
+ end.parse!
63
+
64
+ config = MPW::Config.new(options[:config])
65
+ cli = MPW::Cli.new(config, options[:sync])
66
+
67
+ cli.load_config
68
+ cli.get_wallet(options[:wallet])
69
+ cli.decrypt
70
+ cli.update(options[:password], values)
data/bin/mpw-wallet ADDED
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/ruby
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
+
19
+ require 'optparse'
20
+ require 'mpw/config'
21
+ require 'mpw/cli'
22
+
23
+ # --------------------------------------------------------- #
24
+ # Options
25
+ # --------------------------------------------------------- #
26
+
27
+ options = {}
28
+ options[:sync] = {}
29
+ options[:delete] = false
30
+ values = {}
31
+
32
+ OptionParser.new do |opts|
33
+ opts.banner = "#{I18n.t('option.usage')}: mpw wallet [options]"
34
+
35
+ opts.on('-a', '--add-gpg-key NAME', I18n.t('option.add_gpg_key')) do |gpg_key|
36
+ options[:gpg_key] = gpg_key
37
+ end
38
+
39
+ opts.on('-c', '--config PATH', I18n.t('option.config')) do |config|
40
+ options[:config] = config
41
+ end
42
+
43
+ opts.on('-d', '--delete-gpg-key NAME', I18n.t('option.delete_gpg_key')) do |gpg_key|
44
+ options[:gpg_key] = gpg_key
45
+ options[:delete] = true
46
+ end
47
+
48
+ opts.on('-h', '--help', I18n.t('option.help')) do
49
+ puts opts
50
+ exit 0
51
+ end
52
+
53
+ opts.on('--host NAME', I18n.t('option.host')) do |host|
54
+ values[:host] = host
55
+ end
56
+
57
+ opts.on('-l', '--list', I18n.t('option.list')) do
58
+ options[:list] = true
59
+ end
60
+
61
+ opts.on('-L', '--list-keys', I18n.t('option.list_keys')) do
62
+ options[:list_keys] = true
63
+ end
64
+
65
+ opts.on('-n', '--no-sync', I18n.t('option.no_sync')) do
66
+ options[:sync] = false
67
+ end
68
+
69
+ opts.on('--password', I18n.t('option.password')) do
70
+ values[:password] = true
71
+ end
72
+
73
+ opts.on('--path PATH', I18n.t('option.path')) do |path|
74
+ values[:path] = path
75
+ end
76
+
77
+ opts.on('--port NUMBER', I18n.t('option.port')) do |port|
78
+ values[:port] = port
79
+ end
80
+
81
+ opts.on('--protocol NAME', I18n.t('option.protocol')) do |protocol|
82
+ values[:protocol] = protocol
83
+ end
84
+
85
+ opts.on('--user NAME', I18n.t('option.user')) do |user|
86
+ values[:user] = user
87
+ end
88
+
89
+ opts.on('-w', '--wallet NAME', I18n.t('option.wallet')) do |wallet|
90
+ options[:wallet] = wallet
91
+ end
92
+ end.parse!
93
+
94
+ config = MPW::Config.new(options[:config])
95
+ cli = MPW::Cli.new(config, options[:sync])
96
+
97
+ cli.load_config
98
+
99
+ if not options[:list].nil?
100
+ cli.list_wallet
101
+ else
102
+ cli.get_wallet(options[:wallet])
103
+ cli.decrypt
104
+
105
+ if not options[:list_keys].nil?
106
+ cli.list_keys
107
+ elsif not options[:gpg_key].nil?
108
+ if options[:delete]
109
+ cli.delete_key(options[:gpg_key])
110
+ else
111
+ cli.add_key(options[:gpg_key])
112
+ end
113
+ elsif not values.empty?
114
+ cli.setup_wallet_config(values)
115
+ end
116
+ end