diff --git a/bin/mpw b/bin/mpw index d8a76c7..c14c5af 100755 --- a/bin/mpw +++ b/bin/mpw @@ -37,6 +37,7 @@ I18n.locale = lang.to_sym options = {} options[:force] = false options[:format] = false +options[:sync] = true options[:group] = nil options[:config] = nil @@ -98,6 +99,10 @@ OptionParser.new do |opts| options[:force] = true end + opts.on('-N', '--no-sync', I18n.t('option.no_sync')) do + options[:sync] = false + end + opts.on('-G', '--generate-password [LENGTH]', I18n.t('option.generate_password')) do |length| puts MPW::MPW::password(length) exit 0 @@ -126,7 +131,7 @@ elsif not config.check_gpg_key? end cli.decrypt -cli.sync +cli.sync(options[:sync]) # Display the item's informations if not options[:show].nil? diff --git a/i18n/cli/en.yml b/i18n/cli/en.yml index 6ba6c08..bd84171 100644 --- a/i18n/cli/en.yml +++ b/i18n/cli/en.yml @@ -52,6 +52,7 @@ en: type: "Data's type export file [csv|yaml]" import: "Import item since a yaml or csv file" force: "Force an action" + no_sync: "Disable synchronization with the server" format: "Change the display items format by an alternative format" generate_password: "Generate a random password (default 8 characters)" help: "Show this help message" diff --git a/i18n/cli/fr.yml b/i18n/cli/fr.yml index 1410993..e9790c0 100644 --- a/i18n/cli/fr.yml +++ b/i18n/cli/fr.yml @@ -52,6 +52,7 @@ fr: type: "Format des données du fichier d'export [csv|yaml]" import: "Importe des éléments depuis un fichier yaml ou csv" force: "Force une action, l'action ne demandera pas de confirmation" + no_sync: "Désactive la synchronisation avec le serveur" 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)" help: "Affiche ce message d'aide" diff --git a/lib/mpw/ui/cli.rb b/lib/mpw/ui/cli.rb index 3875be5..3bf9c51 100644 --- a/lib/mpw/ui/cli.rb +++ b/lib/mpw/ui/cli.rb @@ -23,8 +23,15 @@ class Cli end # Sync the data with the server + # @args: allow_sync -> allow or disable sync (boolean) # @rtnr: true if the synchro is finish - def sync + def sync(allow_sync=nil) + if not allow_sync.nil? + @allow_sync = allow_sync + end + + return true if not @allow_sync + @sync = MPW::Sync.new(@config, @mpw, @password) raise(@sync.error_msg) if not @sync.get_remote