Module: ImgDl::Cli
- Defined in:
- lib/img_dl/cli.rb
Constant Summary collapse
- CLEAR =
case RUBY_PLATFORM when /win/i, /ming/i "cls" else "clear" end
- HELP =
<<-HELP Usage: img_dl [OPTION]... URL SAVEPATH Search Images from URL and save to SAVEPATH.You can specified regular expression as a filter or set a limit num,etc. Example: img_dl http://google.com /home/me/download/icons OPTION: -r Enable recursive search, when this option parsed you should option -ul or -il to limit search,otherwise the program maybe can't stop -ul Limit recursive urls count, Only if you specified -r -il Limit download images count -ur Regex filter for recursive url, Example -ur www.foo.bai\/\?page=\d+ -ir Regex filter for images,Example -ir .gif$ -pf Save the file prefix -in Interval, default value is 0 -h print this help -version Print version HELP
- NOT_MATCH =
"Arguments not match!"
Class Method Summary collapse
- .not_match ⇒ Object
- .parse_to_options(args) ⇒ Object
- .prompt(parser) ⇒ Object
- .run ⇒ Object
- .valid_save_path(path) ⇒ Object
- .valid_url(url) ⇒ Object
Class Method Details
permalink .not_match ⇒ Object
[View source]
33 34 35 36 |
# File 'lib/img_dl/cli.rb', line 33 def not_match puts NOT_MATCH puts HELP end |
permalink .parse_to_options(args) ⇒ Object
[View source]
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/img_dl/cli.rb', line 46 def args case args.size when 0,1 case args.first when '-h' puts HELP when '-version' puts VERSION else not_match exit 1 end else save_path = args.pop url = args.pop = {} [:recursive] = args.delete '-r' if args.size.odd? not_match exit 1 end args.each_slice(2) do |opt,arg| case opt when '-ul' [:url_limit_count] = arg.to_i when '-il' [:image_limit_count] = arg.to_i when '-ur' [:url_reg] = Regexp.new arg when '-ir' [:image_reg] = Regexp.new arg when '-pf' [:prefix] = arg when '-in' [:interval] = arg.to_i else puts "option '#{opt}' not support! please check out img_dl -h" exit 1 end end parser = ImgDl::Parser.new(url,save_path,) Thread.start{parser.start;puts 'All done.';exit} parser end end |
permalink .prompt(parser) ⇒ Object
[View source]
92 93 94 95 96 97 98 99 100 101 |
# File 'lib/img_dl/cli.rb', line 92 def prompt parser system CLEAR puts "url parser status: #{parser.status}" puts "downloader status: #{parser.dl_status}" puts "recursive urls: #{parser.url_count}" puts "images download queue: #{parser.image_count}" puts "downloaded images: #{parser.downloaded_image_count}" puts "successes: #{parser.success_download}" puts "errors: #{parser.error_urls.size}" end |
permalink .run ⇒ Object
[View source]
103 104 105 |
# File 'lib/img_dl/cli.rb', line 103 def run ARGV end |
permalink .valid_save_path(path) ⇒ Object
[View source]
38 39 40 |
# File 'lib/img_dl/cli.rb', line 38 def valid_save_path path FileUtils.mkdir_p path end |
permalink .valid_url(url) ⇒ Object
[View source]
42 43 44 |
# File 'lib/img_dl/cli.rb', line 42 def valid_url url URI url end |