1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-26 23:33:03 +00:00

fix load config

This commit is contained in:
Adrien Waksberg 2016-10-23 21:54:46 +02:00
parent e4c03619b3
commit 6d2a45217c
13 changed files with 34 additions and 26 deletions

View file

@ -50,6 +50,7 @@ end.parse!
config = MPW::Config.new(options[:config]) config = MPW::Config.new(options[:config])
cli = MPW::Cli.new(config, options[:sync]) cli = MPW::Cli.new(config, options[:sync])
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.add(options[:password]) cli.add(options[:password])

View file

@ -65,6 +65,7 @@ config = MPW::Config.new(options[:config])
cli = MPW::Cli.new(config, nil) cli = MPW::Cli.new(config, nil)
if not options[:init].nil? if not options[:init].nil?
cli.load_config
cli.get_wallet cli.get_wallet
cli.setup(values) cli.setup(values)
cli.setup_gpg_key(options[:init]) cli.setup_gpg_key(options[:init])

View file

@ -63,6 +63,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.copy(options[:clipboard], opts) cli.copy(options[:clipboard], opts)

View file

@ -58,6 +58,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.delete(opts) cli.delete(opts)

View file

@ -62,6 +62,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.export(options[:file], opts) cli.export(options[:file], opts)

View file

@ -54,6 +54,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.import(options[:file]) cli.import(options[:file])

View file

@ -58,6 +58,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.list(opts) cli.list(opts)

View file

@ -58,6 +58,7 @@ opts = { search: options[:pattern],
group: options[:group], group: options[:group],
} }
cli.load_config
cli.get_wallet(options[:wallet]) cli.get_wallet(options[:wallet])
cli.decrypt cli.decrypt
cli.update(opts) cli.update(opts)

View file

@ -75,6 +75,8 @@ end.parse!
config = MPW::Config.new(options[:config]) config = MPW::Config.new(options[:config])
cli = MPW::Cli.new(config, options[:sync]) cli = MPW::Cli.new(config, options[:sync])
cli.load_config
if not options[:list].nil? if not options[:list].nil?
cli.list_wallet cli.list_wallet
else else

View file

@ -3,7 +3,7 @@ en:
error: error:
config: config:
write: "Can't write the config file!" write: "Can't write the config file!"
check: "Checkconfig failed!" load: "Checkconfig failed!"
key_bad_format: "The key string isn't in good format!" key_bad_format: "The key string isn't in good format!"
no_key_public: "You haven't the public key of %{key}!" no_key_public: "You haven't the public key of %{key}!"
genkey_gpg: genkey_gpg:

View file

@ -3,7 +3,7 @@ fr:
error: error:
config: config:
write: "Impossible d'écrire le fichier de configuration!" write: "Impossible d'écrire le fichier de configuration!"
check: "Le fichier de configuration est invalide!" load: "Le fichier de configuration est invalide!"
key_bad_format: "La clé GPG est invalide!" key_bad_format: "La clé GPG est invalide!"
no_key_public: "Vous ne possédez pas la clé publique de %{key}!" no_key_public: "Vous ne possédez pas la clé publique de %{key}!"
genkey_gpg: genkey_gpg:

View file

@ -40,8 +40,6 @@ class Cli
# Change a parameter int the config after init # Change a parameter int the config after init
# @args: options -> param to change # @args: options -> param to change
def set_config(options) def set_config(options)
raise I18n.t('error.config.check') if not @config.is_valid?
gpg_key = options[:gpg_key] || @config.key gpg_key = options[:gpg_key] || @config.key
lang = options[:lang] || @config.lang lang = options[:lang] || @config.lang
wallet_dir = options[:wallet_dir] || @config.wallet_dir wallet_dir = options[:wallet_dir] || @config.wallet_dir
@ -56,15 +54,13 @@ class Cli
# Create a new config file # Create a new config file
# @args: options -> set param # @args: options -> set param
def setup(options) def setup(options)
@config.is_valid?
lang = options[:lang] || Locale::Tag.parse(ENV['LANG']).to_simple.to_s[0..1] lang = options[:lang] || Locale::Tag.parse(ENV['LANG']).to_simple.to_s[0..1]
I18n.locale = lang.to_sym I18n.locale = lang.to_sym
@config.setup(options[:gpg_key], lang, options[:wallet_dir], options[:gpg_exe]) @config.setup(options[:gpg_key], lang, options[:wallet_dir], options[:gpg_exe])
raise I18n.t('error.config.check') if not @config.is_valid? load_config
puts "#{I18n.t('form.setup_config.valid')}".green puts "#{I18n.t('form.setup_config.valid')}".green
rescue Exception => e rescue Exception => e
@ -116,6 +112,15 @@ class Cli
exit 2 exit 2
end end
# Load config
def load_config
@config.load_config
rescue Exception => e
puts "#{I18n.t('display.error')} #10: #{e}".red
exit 2
end
# Request the GPG password and decrypt the file # Request the GPG password and decrypt the file
def decrypt def decrypt
if not defined?(@mpw) if not defined?(@mpw)
@ -305,8 +310,6 @@ class Cli
# List all wallets # List all wallets
def list_wallet def list_wallet
@config.is_valid?
wallets = Dir.glob("#{@config.wallet_dir}/*.mpw") wallets = Dir.glob("#{@config.wallet_dir}/*.mpw")
wallets.each do |wallet| wallets.each do |wallet|
@ -317,8 +320,6 @@ class Cli
# Display the wallet # Display the wallet
# @args: wallet -> the wallet name # @args: wallet -> the wallet name
def get_wallet(wallet=nil) def get_wallet(wallet=nil)
@config.is_valid?
if wallet.to_s.empty? if wallet.to_s.empty?
wallets = Dir.glob("#{@config.wallet_dir}/*.mpw") wallets = Dir.glob("#{@config.wallet_dir}/*.mpw")

View file

@ -65,12 +65,11 @@ class Config
wallet_dir = "#{@config_dir}/wallets" wallet_dir = "#{@config_dir}/wallets"
end end
config = {'config' => {'key' => key, config = { 'key' => key,
'lang' => lang, 'lang' => lang,
'wallet_dir' => wallet_dir, 'wallet_dir' => wallet_dir,
'gpg_exe' => gpg_exe, 'gpg_exe' => gpg_exe,
} }
}
FileUtils.mkdir_p(wallet_dir, mode: 0700) FileUtils.mkdir_p(wallet_dir, mode: 0700)
File.open(@config_file, 'w') do |file| File.open(@config_file, 'w') do |file|
@ -113,22 +112,20 @@ class Config
raise "#{I18n.t('error.config.genkey_gpg.exception')}\n#{e}" raise "#{I18n.t('error.config.genkey_gpg.exception')}\n#{e}"
end end
# Check the config file # Load the config file
# @rtrn: true if the config file is correct def load_config
def is_valid?
config = YAML::load_file(@config_file) config = YAML::load_file(@config_file)
@key = config['config']['key'] @key = config['key']
@lang = config['config']['lang'] @lang = config['lang']
@wallet_dir = config['config']['wallet_dir'] @wallet_dir = config['wallet_dir']
@gpg_exe = config['config']['gpg_exe'] @gpg_exe = config['gpg_exe']
raise if @key.empty? or @wallet_dir.empty? raise if @key.empty? or @wallet_dir.empty?
I18n.locale = @lang.to_sym I18n.locale = @lang.to_sym
return true rescue Exception => e
rescue raise "#{I18n.t('error.config.load')}\n#{e}"
return false
end end
# Check if private key exist # Check if private key exist