lib/saber/task/chd.rb in saber-1.1.1 vs lib/saber/task/chd.rb in saber-1.2.0

- old
+ new

@@ -1,21 +1,29 @@ +require "sys/filesystem" + module Saber module Task class CHD < Base desc "chd", "chd" def chd(o={}) - require "saber/tracker/chd" t = Tracker["chd"].new begin t.login Saber.ui.say "Begin to watch." # mark all loaded. t.update_cache(true) while true - t.add_torrents + # check free diskspace + s = Sys::Filesystem.stat(Rc.chd.diskspace_dir.p) + if s.block_size * s.blocks_free < Rc.chd.diskspace_limit + Saber.ui.say "::SKIP:: Reach low diskspace." + else + t.add_torrents + end + sleep Rc.chd.update_interval end rescue Errno::ETIMEDOUT, Mechanize::ResponseCodeError, SocketError sleep 60 retry