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