#!/usr/bin/ruby # author: nishiki # mail: nishiki@yaegashi.fr # info: a simple script who manage your passwords require 'rubygems' require 'optparse' require 'pathname' require 'locale' require 'i18n' APP_ROOT = File.dirname(Pathname.new(__FILE__).realpath) require "#{APP_ROOT}/lib/CliSSH.rb" lang = Locale::Tag.parse(ENV['LANG']).to_simple.to_s[0..1] if !File.exist?("#{APP_ROOT}/i18n/#{lang}.yml") lang = 'en' end I18n.load_path = Dir["#{APP_ROOT}/i18n/#{lang}.yml"] I18n.locale = lang.to_sym options = {} OptionParser.new do |opts| opts.banner = "#{I18n.t('ssh.option.usage')}: mpw-ssh SEARCH [options]" opts.on("-l", "--login LOGIN", I18n.t('ssh.option.login')) do |login| options[:login] = login end opts.on("-s", "--server SERVER", I18n.t('ssh.option.server')) do |server| options[:server] = server end opts.on("-p", "--port PORT", I18n.t('ssh.option.port')) do |port| options[:port] = port end opts.on('-c', '--config CONFIG', I18n.t('cli.option.config')) do |config| options[:config] = config end opts.on("-h", "--help", I18n.t('ssh.option.help')) do |b| puts opts exit 0 end end.parse! cli = CliSSH.new(lang, options[:config]) cli.login = options[:login] cli.server = options[:server] cli.port = options[:port] search = ARGV[0] if ARGV.length < 1 puts "#{I18n.t('ssh.option.usage')}: mpw-ssh SEARCH [options]" exit 2 end cli.ssh(search) exit 0