Handle options with optparser
This commit is contained in:
parent
068cb4406a
commit
2ce2868956
1 changed files with 9 additions and 6 deletions
15
script.rb
15
script.rb
|
@ -5,13 +5,16 @@ require 'open-uri'
|
||||||
require 'youtube-dl'
|
require 'youtube-dl'
|
||||||
require 'sequel'
|
require 'sequel'
|
||||||
require 'date'
|
require 'date'
|
||||||
|
require 'optparse'
|
||||||
|
|
||||||
if ARGV.empty?
|
options={}
|
||||||
puts "Please specify the URL of the feed as a parameter"
|
OptionParser.new do |parser|
|
||||||
exit
|
parser.on("-f", "--feed FEED", "Feed to download videos from") do |feed|
|
||||||
end
|
options[:feed]=feed
|
||||||
|
end
|
||||||
|
end.parse!
|
||||||
|
|
||||||
url=ARGV[0]
|
raise OptionParser::MissingArgument, "You must specify a feed (-f)" if options[:feed].nil?
|
||||||
|
|
||||||
DB = Sequel.connect('sqlite://videos.db')
|
DB = Sequel.connect('sqlite://videos.db')
|
||||||
DB.create_table? :videos do
|
DB.create_table? :videos do
|
||||||
|
@ -24,7 +27,7 @@ end
|
||||||
|
|
||||||
videos=DB[:videos]
|
videos=DB[:videos]
|
||||||
|
|
||||||
open(url) do |rss|
|
open(options[:feed]) do |rss|
|
||||||
feed=RSS::Parser.parse(rss)
|
feed=RSS::Parser.parse(rss)
|
||||||
feed.items.each do |item|
|
feed.items.each do |item|
|
||||||
video=YoutubeDL.download "#{item.link}"
|
video=YoutubeDL.download "#{item.link}"
|
||||||
|
|
Reference in a new issue