1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-23 13:57:52 +00:00

add text color

This commit is contained in:
nishiki 2014-12-06 23:53:03 +01:00
parent 6290bfb3bb
commit ccb0e71edc
4 changed files with 35 additions and 60 deletions

View file

@ -3,6 +3,7 @@ gem 'highline'
gem 'i18n', '0.6.9' gem 'i18n', '0.6.9'
gem 'locale' gem 'locale'
gem 'gpgme' gem 'gpgme'
gem 'colorize'
group :ssh do group :ssh do
gem 'net-ssh' gem 'net-ssh'

View file

@ -42,9 +42,9 @@ en:
config: "Specify the configuration file to use" config: "Specify the configuration file to use"
setup: "Create a new configuration file" setup: "Create a new configuration file"
protocol: "Select the items with the specified protocol" protocol: "Select the items with the specified protocol"
export: "Export all items in a CSV file" export: "Export all items in a file"
type: "Data's type export file [csv|yaml]" type: "Data's type export file [csv|yaml]"
import: "Import item since a CSV file" import: "Import item since a yaml or csv file"
force: "Force an action" force: "Force an action"
format: "Change the display items format by an alternative format" format: "Change the display items format by an alternative format"
generate_password: "Generate a random password (default 8 characters)" generate_password: "Generate a random password (default 8 characters)"
@ -107,21 +107,8 @@ en:
port: "Enter the connection port [%{port}]: " port: "Enter the connection port [%{port}]: "
comment: "Enter a comment [%{comment}]: " comment: "Enter a comment [%{comment}]: "
valid: "Item has been updated!" valid: "Item has been updated!"
export:
interactive: valid: "The export in %{file} is succesfull!"
ask_password: "Password GPG: "
bad_password: "Bad password!"
goodbye: "Goodbye!"
unknown_command: "Unknown command!"
option:
title: "Help"
show: "Search and show the results"
group: "Change the group for the search"
add: "Add an item"
update: "Update an item"
remove: "Remove an item"
help: "Show this message"
quit: "Quit the software"
display: display:
comment: "Comment" comment: "Comment"

View file

@ -42,9 +42,9 @@ fr:
config: "Spécifie le fichier de configuration à utiliser" config: "Spécifie le fichier de configuration à utiliser"
setup: "Création d'un nouveau fichier de configuration" setup: "Création d'un nouveau fichier de configuration"
protocol: "Sélectionne les éléments ayant le protocole spécifié" protocol: "Sélectionne les éléments ayant le protocole spécifié"
export: "Exporte tous les éléments dans un fichier au format CSV" export: "Exporte tous les éléments dans un fichier"
type: "Format des données du fichier d'export [csv|yaml]" type: "Format des données du fichier d'export [csv|yaml]"
import: "Importe des éléments depuis un fichier au format CSV" import: "Importe des éléments depuis un fichier yaml ou csv"
force: "Force une action, l'action ne demandera pas de confirmation" force: "Force une action, l'action ne demandera pas de confirmation"
format: "Change le format d'affichage des éléments par un alternatif" format: "Change le format d'affichage des éléments par un alternatif"
generate_password: "Génére un mot de passe aléatoire (défaut 8 caractères)" generate_password: "Génére un mot de passe aléatoire (défaut 8 caractères)"
@ -107,21 +107,8 @@ fr:
port: "Entrez un port de connexion [%{port}]: " port: "Entrez un port de connexion [%{port}]: "
comment: "Entrez un commentaire [%{comment}]: " comment: "Entrez un commentaire [%{comment}]: "
valid: "L'élément a bien été mis à jour!" valid: "L'élément a bien été mis à jour!"
export:
interactive: valid: "L'export dans %{file} est un succès!"
ask_password: "Mot de passe GPG: "
bad_password: "Mauvais mot de passe!"
goodbye: "Au revoir!"
unknown_command: "Commande inconnue!"
option:
title: "Aide"
show: "Cherche et affiche les résulats"
group: "Change de groupe pour la recherche"
add: "Ajout un élément"
update: "Met à jour un élément"
remove: "Supprime un élément"
help: "Affiche ce message d'aide"
quit: "Quitte le programme"
display: display:
comment: "Commentaire" comment: "Commentaire"

View file

@ -8,7 +8,7 @@ require 'highline/import'
require 'pathname' require 'pathname'
require 'readline' require 'readline'
require 'i18n' require 'i18n'
require 'yaml' require 'colorize'
require "#{APP_ROOT}/lib/MPW" require "#{APP_ROOT}/lib/MPW"
@ -42,26 +42,26 @@ class Cli
if not @config.sync_host.nil? and not @config.sync_port.nil? if not @config.sync_host.nil? and not @config.sync_port.nil?
if not @sync.connect(@config.sync_host, @config.sync_user, @config.sync_pwd, @config.sync_path, @config.sync_port) if not @sync.connect(@config.sync_host, @config.sync_user, @config.sync_pwd, @config.sync_path, @config.sync_port)
puts "#{I18n.t('display.error')} #1: #{@sync.error_msg}" puts "#{I18n.t('display.error')} #1: #{@sync.error_msg}".red
end end
end end
if @sync.enable if @sync.enable
if not @mpw.sync(@sync.get(@passwd), @config.last_update) if not @mpw.sync(@sync.get(@passwd), @config.last_update)
puts "#{I18n.t('display.error')} #2: #{@mpw.error_msg}" if not @mpw.error_msg.nil? puts "#{I18n.t('display.error')} #2: #{@mpw.error_msg}".red if not @mpw.error_msg.nil?
puts "#{I18n.t('display.error')} #3: #{@sync.error_msg}" if not @sync.error_msg.nil? puts "#{I18n.t('display.error')} #3: #{@sync.error_msg}".red if not @sync.error_msg.nil?
elsif not @sync.update(File.open(@config.file_gpg).read) elsif not @sync.update(File.open(@config.file_gpg).read)
puts "#{I18n.t('display.error')} #4: #{@sync.error_msg}" puts "#{I18n.t('display.error')} #4: #{@sync.error_msg}".red
elsif not @config.set_last_update elsif not @config.set_last_update
puts "#{I18n.t('display.error')} #5: #{@config.error_msg}" puts "#{I18n.t('display.error')} #5: #{@config.error_msg}".red
elsif not @mpw.encrypt elsif not @mpw.encrypt
puts "#{I18n.t('display.error')} #6: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #6: #{@mpw.error_msg}".red
else else
return true return true
end end
end end
rescue Exception => e rescue Exception => e
puts "#{I18n.t('display.error')} #7: #{e}" puts "#{I18n.t('display.error')} #7: #{e}".red
puts @sync.error_msg if not @sync.error_msg.nil? puts @sync.error_msg if not @sync.error_msg.nil?
puts @config.error_msg if not @config.error_msg.nil? puts @config.error_msg if not @config.error_msg.nil?
puts @mpw.error_msg if not @mpw.error_msg.nil? puts @mpw.error_msg if not @mpw.error_msg.nil?
@ -101,14 +101,14 @@ class Cli
sync_path = sync_path.nil? or sync_path.empty? ? nil : sync_path sync_path = sync_path.nil? or sync_path.empty? ? nil : sync_path
if @config.setup(key, share_keys, language, file_gpg, sync_type, sync_host, sync_port, sync_user, sync_pwd, sync_path) if @config.setup(key, share_keys, language, file_gpg, sync_type, sync_host, sync_port, sync_user, sync_pwd, sync_path)
puts I18n.t('form.setup.valid') puts "#{I18n.t('form.setup.valid')}".green
else else
puts "#{I18n.t('display.error')} #8: #{@config.error_msg}" puts "#{I18n.t('display.error')} #8: #{@config.error_msg}".red
exit 2 exit 2
end end
if not @config.checkconfig if not @config.checkconfig
puts "#{I18n.t('display.error')} #9: #{@config.error_msg}" puts "#{I18n.t('display.error')} #9: #{@config.error_msg}".red
exit 2 exit 2
end end
end end
@ -143,9 +143,9 @@ class Cli
puts I18n.t('form.setup_gpg_key.wait') puts I18n.t('form.setup_gpg_key.wait')
if @config.setup_gpg_key(password, name, length, expire) if @config.setup_gpg_key(password, name, length, expire)
puts I18n.t('form.setup_gpg_key.valid') puts "#{I18n.t('form.setup_gpg_key.valid')}".green
else else
puts "#{I18n.t('display.error')} #10: #{@config.error_msg}" puts "#{I18n.t('display.error')} #10: #{@config.error_msg}".red
exit 2 exit 2
end end
end end
@ -158,7 +158,7 @@ class Cli
@passwd = ask(I18n.t('display.gpg_password')) {|q| q.echo = false} @passwd = ask(I18n.t('display.gpg_password')) {|q| q.echo = false}
if not @mpw.decrypt(@passwd) if not @mpw.decrypt(@passwd)
puts "#{I18n.t('display.error')} #11: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #11: #{@mpw.error_msg}".red
exit 2 exit 2
end end
end end
@ -230,12 +230,12 @@ class Cli
if @mpw.update(name, group, server, protocol, login, passwd, port, comment) if @mpw.update(name, group, server, protocol, login, passwd, port, comment)
if @mpw.encrypt if @mpw.encrypt
sync sync
puts I18n.t('form.add.valid') puts "#{I18n.t('form.add.valid')}".green
else else
puts "#{I18n.t('display.error')} #12: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #12: #{@mpw.error_msg}".red
end end
else else
puts "#{I18n.t('display.error')} #13: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #13: #{@mpw.error_msg}".red
end end
end end
@ -259,12 +259,12 @@ class Cli
if @mpw.update(name, group, server, protocol, login, passwd, port, comment, id) if @mpw.update(name, group, server, protocol, login, passwd, port, comment, id)
if @mpw.encrypt if @mpw.encrypt
sync sync
puts I18n.t('form.update.valid') puts "#{I18n.t('form.update.valid')}".green
else else
puts "#{I18n.t('display.error')} #14: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #14: #{@mpw.error_msg}".red
end end
else else
puts "#{I18n.t('display.error')} #15: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #15: #{@mpw.error_msg}".red
end end
else else
puts I18n.t('display.nothing') puts I18n.t('display.nothing')
@ -294,9 +294,9 @@ class Cli
if @mpw.remove(id) if @mpw.remove(id)
if @mpw.encrypt if @mpw.encrypt
sync sync
puts I18n.t('form.delete.valid', id: id) puts "#{I18n.t('form.delete.valid', id: id)}".green
else else
puts "#{I18n.t('display.error')} #16: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #16: #{@mpw.error_msg}".red
end end
else else
puts I18n.t('form.delete.not_valid') puts I18n.t('form.delete.not_valid')
@ -308,9 +308,9 @@ class Cli
# @args: file -> the destination file # @args: file -> the destination file
def export(file, type=:yaml) def export(file, type=:yaml)
if @mpw.export(file, type) if @mpw.export(file, type)
puts "The export in #{file} is succesfull!" puts "#{I18n.t('export.valid', file)}".green
else else
puts "#{I18n.t('display.error')} #17: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #17: #{@mpw.error_msg}".red
end end
end end
@ -339,9 +339,9 @@ class Cli
if force if force
if @mpw.import(file, type) and @mpw.encrypt if @mpw.import(file, type) and @mpw.encrypt
sync sync
puts I18n.t('form.import.valid') puts "#{I18n.t('form.import.valid')}".green
else else
puts "#{I18n.t('display.error')} #18: #{@mpw.error_msg}" puts "#{I18n.t('display.error')} #18: #{@mpw.error_msg}".red
end end
end end
end end