No description, website, or topics provided.
Ruby
Latest commit ac2ce02 Mar 23, 2017 @hjhart Bump version
Permalink
Failed to load latest commit information.
lib
spec Updating gems and updating tests to be compatible with new Rspec version Feb 1, 2017
.gitignore Allow the extraction of video/audio score sum and votes Nov 12, 2011
CHANGELOG
Gemfile Rspec task and version bump Mar 16, 2015
Gemfile.lock Updating gems and updating tests to be compatible with new Rspec version Feb 1, 2017
Manifest Version bump to 0.2 Nov 12, 2011
README.markdown
Rakefile

README.markdown

The Torrent API

What it does

The Torrent API brings torrent downloading to the ruby language. It allows for searching numerous torrent websites using an easy-to-use ruby DSL.

How it does it

Using Nokogiri or Hpricot, it takes a search term (and sometimes a category) and grabs the page and parses through the HTML to scrape the results, leaving you with just the most important information.

Usage

Search the default service (the pirate bay)

t = TorrentApi.new
t.search_term = 'james and the giant peach'
results = t.search

Query all torrent websites and work with those torrents

torrents = TorrentApi.new(:all, 'the royal tenenbaums')
torrent = torrents.first
torrent.name
=> "The.Royal.Tenenbaums.XviD.DVD-Rip"
torrent.seeds
=> 128
torrent.size # size is returned in bytes
=> 702840000.0

Torrent methods

:name, :seeds, :leeches, :category, :link, :magnet_link, :status, :size

Select a service to use and search

t = TorrentApi.new
t.service = :demonoid
t.search_term = 'james and the giant peach'
results = t.search

Shorthand query all

TorrentApi.new(:all, "james and the giant peach")`

Available services

  • TorrentReactor
  • The Piratey Bay
  • Demonoid

How to help

Add more torrent sites!

To do

  • Refactor all three search engines to use a shared torrent model
  • More search engines!
  • Need to add/remove dependencies - awesome_print and nokogiri
  • Improve the ability to select a category (I think it defaults to a movie category right now)