lib/nv/cli.rb in nv-1.0.1 vs lib/nv/cli.rb in nv-1.2.1

- old
+ new

@@ -1,40 +1,49 @@ require 'thor' class Nv::CLI < Thor include Niconico::Helper - desc "dl URL", "Download video" + desc 'dl URL', 'Download video' + method_option 'with-comments', :aliases => '-c', :desc => 'Download comments' + method_option 'with-dir', :aliases => '-d', :desc => 'Create directory' + method_option 'without-dir', :aliases => '-D', :desc => "Don't create directory" def dl(ptr, output=".") config = Nv::Config.new(Nv::CONFIG_PATH) config.verify_for_authentication!('dl') nico = Niconico::Base.new.sign_in(config.email, config.password) if mylist?(ptr) mylist = nico.mylist(ptr) puts "Title : #{mylist.title}" - puts "Desc : #{mylist.description}" + puts "Desc : #{mylist.description}" unless mylist.description.empty? + escaped_title = escape_string(mylist.title) + output = options['without-dir'] ? '.' : escaped_title + mylist.items.each do |item| dl(item.link, output) end else video = nico.video(ptr) # Inspect puts "Downloading... #{video.title}" - # Donwload - video.download + output ||= options['with-dir'] ? escape_string(video.title) : '.' + # Download + video.download output + video.download_comments output if options['with-comments'] + puts "+ done" end end - desc "info URL", "Show video/mylist info" + desc 'info URL', 'Show video/mylist info' def info(ptr) config = Nv::Config.new(Nv::CONFIG_PATH) config.verify_for_authentication!('info') nico = Niconico::Base.new.sign_in(config.email, config.password) @@ -50,32 +59,44 @@ end else video = nico.video(ptr) puts video.title - puts "=" * 40 + puts '=' * 40 puts video.description - puts "=" * 40 + puts '=' * 40 puts "URL: #{video.watch_url}" end end - desc "config KEY VALUE", "Set config" + desc 'browse FILE', 'Open web-browser to show nicovideo page with given movie file' + def browse(filepath) + video_id = File.basename(filepath).match(/[^\w]([\w]{2}\d+)[^\w]/)[1] + system "open http://www.nicovideo.jp/watch/#{video_id}" + end + + desc 'config KEY VALUE', 'Set config' def config(key=nil, value=nil) config = Nv::Config.new(Nv::CONFIG_PATH) unless key - puts "config:" + puts "=== config(#{Nv::CONFIG_PATH}) ===" config.to_h.each do |k, v| - puts " #{k}=#{v}" + puts "#{k}=#{v}" end return end if value config[key] = value config.save end - puts "config: #{key}=#{config[key]}" + puts "=== config(#{Nv::CONFIG_PATH}) ===" + puts "#{key}=#{config[key]}" + end + + desc "version", "Show version" + def version + puts "nv version #{Nv::VERSION}" end end