Support size prefixes via filesize gem
This commit is contained in:
parent
e7c0d884f8
commit
c30b77fee4
1 changed files with 3 additions and 2 deletions
|
@ -6,6 +6,7 @@ require 'youtube-dl'
|
||||||
require 'sequel'
|
require 'sequel'
|
||||||
require 'date'
|
require 'date'
|
||||||
require 'optparse'
|
require 'optparse'
|
||||||
|
require 'filesize'
|
||||||
|
|
||||||
options={}
|
options={}
|
||||||
OptionParser.new do |parser|
|
OptionParser.new do |parser|
|
||||||
|
@ -13,7 +14,7 @@ OptionParser.new do |parser|
|
||||||
options[:feed]=feed
|
options[:feed]=feed
|
||||||
end
|
end
|
||||||
|
|
||||||
parser.on("-m", "--max-storage SIZE", "Maximum bytes on disk to occupy with videos") do |maxstorage|
|
parser.on("-m", "--max-storage SIZE", "Maximum total size on disk to occupy with videos") do |maxstorage|
|
||||||
options[:maxstorage]=maxstorage
|
options[:maxstorage]=maxstorage
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@ open(options[:feed]) do |rss|
|
||||||
:filesize => File.size("#{video.filename}"),
|
:filesize => File.size("#{video.filename}"),
|
||||||
:downloaded => DateTime.now)
|
:downloaded => DateTime.now)
|
||||||
if not options[:maxstorage].empty?
|
if not options[:maxstorage].empty?
|
||||||
while videos.sum(:filesize) > options[:maxstorage].to_i
|
while videos.sum(:filesize) > Filesize.from(options[:maxstorage]).to_i
|
||||||
oldest=videos.order(:downloaded).first
|
oldest=videos.order(:downloaded).first
|
||||||
File.delete(oldest[:filename])
|
File.delete(oldest[:filename])
|
||||||
videos.where(:id => oldest[:id]).delete
|
videos.where(:id => oldest[:id]).delete
|
||||||
|
|
Reference in a new issue