Sha256: 3736cc08346dd5cd22a8d5ae2739dc429a3e42f7fd72990d6550c7a3648f87ae

Contents?: true

Size: 1.3 KB

Versions: 4

Compression:

Stored size: 1.3 KB

Contents

module Saber
  module Tracker2
    class What < Base
      BASE_URL = "https://what.cd"

      TYPES = {
        "music" => "Musics",
        "application" => "Applications",
        "ebook" => "E-Books",
        "audiobook" => "Audiobooks",
        "elearning-video" => "E-Learning Videos",
        "comedy" => "Comedy",
        "comic" => "Comics"
      }

      FIELDS = { 
        "ebook" => { 
          torrent_file: "//input[@name='file_input']",
          title: "//input[@name='title']",
          tags: "//input[@name='tags']",
          image: "//input[@name='image']",
          description: "//textarea[@name='desc']"
        }
      }
      
      def do_upload(file, info)
        #path = info["group_id"] ? "/upload.php?group_id=#{info['group_id']}" : "/upload.php"

        agent.goto "#{BASE_URL}/upload.php"
        check_login %r~/upload\.php~

        form = agent.form(action: "")
        form.select(name: "type").select info[:type2]
        form.input(value: "Find Info").wait_while_present unless info[:type] == "music"
        sleep 0.1

        FIELDS[info[:type]].each {|key, selector|
          form.quick_set(selector, info[key])
        }

        form.submit()

        if agent.url =~ %r~/upload\.php~
          return false
        else
          return true
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
saber-1.2.3 lib/saber/tracker2/what.rb
saber-1.2.2 lib/saber/tracker2/what.rb
saber-1.2.1 lib/saber/tracker2/what.rb
saber-1.2.0 lib/saber/tracker2/what.rb