class Nv::CLI

Public Instance Methods

browse(filepath) click to toggle source
# File lib/nv/cli.rb, line 72
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
config(key=nil, value=nil) click to toggle source
# File lib/nv/cli.rb, line 78
def config(key=nil, value=nil)
  config = Nv::Config.new(Nv::CONFIG_PATH)

  unless key
    puts "=== config(#{Nv::CONFIG_PATH}) ==="
    config.to_h.each do |k, v|
      puts "#{k}=#{v}"
    end
    return
  end

  if value
    config[key] = value
    config.save
  end

  puts "=== config(#{Nv::CONFIG_PATH}) ==="
  puts "#{key}=#{config[key]}"
end
dl(ptr, output=".") click to toggle source
# File lib/nv/cli.rb, line 10
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}" 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}"

    output ||= options['with-dir'] ? escape_string(video.title) : '.'

    # Download
    video.download output
    video.download_comments output if options['with-comments']

    puts "+ done"
  end
end
info(ptr) click to toggle source
# File lib/nv/cli.rb, line 45
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)

  if mylist?(ptr)
    mylist = nico.mylist(ptr)

    puts "Title : #{mylist.title}"
    puts "Desc  : #{mylist.description}"

    mylist.items.each_with_index do |item, i|
      puts "   #{i+1}. #{item.title}"
    end
  else
    video = nico.video(ptr)

    puts video.title
    puts '=' * 40
    puts video.description
    puts '=' * 40
    puts "URL: #{video.watch_url}"
  end
end
version() click to toggle source
# File lib/nv/cli.rb, line 99
def version
  puts "nv version #{Nv::VERSION}"
end