From 2ce286895626c9d852d3166f64c3a4ecff22f066 Mon Sep 17 00:00:00 2001 From: George Kaklamanos Date: Sun, 29 Apr 2018 17:10:48 +0300 Subject: [PATCH] Handle options with optparser --- script.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/script.rb b/script.rb index 6ff9e9b..ed30773 100644 --- a/script.rb +++ b/script.rb @@ -5,13 +5,16 @@ require 'open-uri' require 'youtube-dl' require 'sequel' require 'date' +require 'optparse' -if ARGV.empty? - puts "Please specify the URL of the feed as a parameter" - exit -end +options={} +OptionParser.new do |parser| + parser.on("-f", "--feed FEED", "Feed to download videos from") do |feed| + 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.create_table? :videos do @@ -24,7 +27,7 @@ end videos=DB[:videos] -open(url) do |rss| +open(options[:feed]) do |rss| feed=RSS::Parser.parse(rss) feed.items.each do |item| video=YoutubeDL.download "#{item.link}"