Sha256: d59ce8d307395c747397d03ed327a3fbbd6169795f456416ab6f13417a82f042

Contents?: true

Size: 798 Bytes

Versions: 5

Compression:

Stored size: 798 Bytes

Contents

require "sys/filesystem"

module Saber
  module Task
    class CHD < Base

      desc "chd", "chd"
      def chd(o={})
        t = Tracker["chd"].new

        begin
          t.login
          Saber.ui.say "Begin to watch."
          # mark all loaded.
          t.update_cache(true)

          while true
            # 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
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
saber-1.2.4 lib/saber/task/chd.rb
saber-1.2.3 lib/saber/task/chd.rb
saber-1.2.2 lib/saber/task/chd.rb
saber-1.2.1 lib/saber/task/chd.rb
saber-1.2.0 lib/saber/task/chd.rb