btjunkie 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md CHANGED
@@ -30,6 +30,16 @@ Btjunkie.cookies({
30
30
  sessid: "1212lksdjfkj3lkeda090w83922af6b"
31
31
  })
32
32
  ````
33
+ ### Get info about a url
34
+
35
+ You can easily get detailed info about a torrent using the `find_by_details` method.
36
+
37
+ ```` ruby
38
+ url = "http://btjunkie.org/torrent/Pirates-of-the-Caribbean-4-2011-XViD-MEM-ENG-AUDIO/3952ef0859f08bbc7b63c97c51bd9a02e154e0c38026"
39
+ torrent = Btjunkie.find_by_details(url)
40
+ torrent.title # => Pirates of the Caribbean 4 2011 XViD- MEM [ENG AUDIO]
41
+ ````
42
+ The `find_by_details` method returns a `Torrent` object.
33
43
 
34
44
  ## Data to work with
35
45
 
@@ -3,11 +3,11 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "btjunkie"
6
- s.version = "0.0.2"
6
+ s.version = "0.0.3"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Linus Oleander"]
9
9
  s.email = ["linus@oleander.nu"]
10
- s.homepage = ""
10
+ s.homepage = "https://github.com/oleander/Btjunkie"
11
11
  s.summary = %q{The unofficial API for btjunkie.org}
12
12
  s.description = %q{The unofficial API for btjunkie.org.}
13
13
 
@@ -33,6 +33,23 @@ class Btjunkie
33
33
  Btjunkie.new.send(meth, *args, &blk)
34
34
  end
35
35
 
36
+ def find_by_details(url)
37
+ doc = content(url)
38
+
39
+ if title = doc.at_css(".Wht font")
40
+ title = title.content.strip
41
+ else
42
+ title = ""
43
+ end
44
+
45
+ BtjunkieContainer::Torrent.new({
46
+ :torrent => doc.to_s.match(/(http.+?\.torrent)/i).to_a[1],
47
+ :details => url.to_s.gsub("http://btjunkie.org", ""),
48
+ :title => title,
49
+ :seeders => doc.at_css("#main").to_s.match(/([^>][\d,]+) seeds/).to_a[1].to_s.gsub(/[^\d]+/, "")
50
+ })
51
+ end
52
+
36
53
  private
37
54
  def scrape
38
55
  if @url.nil?
@@ -41,7 +58,7 @@ class Btjunkie
41
58
  raise ArgumentError.new "You need to specify a cookie using #cookies"
42
59
  end
43
60
 
44
- content.css("table.tab_results tr").reject do |tr|
61
+ content(url).css("table.tab_results tr").reject do |tr|
45
62
  tr.at_css("th.label").nil? or
46
63
  tr.at_css("font[color='#32CD32']").nil?
47
64
  end.map do |tr|
@@ -59,11 +76,11 @@ class Btjunkie
59
76
  @_url ||= @url.gsub("<PAGE>", @page.to_s)
60
77
  end
61
78
 
62
- def download
79
+ def download(url)
63
80
  @_download ||= RestClient.get(url, :timeout => 10)
64
81
  end
65
82
 
66
- def content
67
- @_content ||= Nokogiri::HTML(download)
83
+ def content(url)
84
+ @_content ||= Nokogiri::HTML(download(url))
68
85
  end
69
86
  end
@@ -21,7 +21,7 @@ module BtjunkieContainer
21
21
 
22
22
  # Generates an id using the details url
23
23
  def id
24
- @_id ||= torrent.match(/(\w+)\/download\.torrent$/).to_a[1]
24
+ @_id ||= torrent.to_s.match(/(\w+)\/download\.torrent$/).to_a[1]
25
25
  end
26
26
 
27
27
  # Returns the domain for the torrent, without http or www
@@ -33,9 +33,6 @@ module BtjunkieContainer
33
33
  # Returns a unique id for the torrent based on the domain and the id of the torrent
34
34
  def tid
35
35
  @_tid ||= Digest::MD5.hexdigest("#{domain}#{id}")
36
- # rescue => error
37
- # puts
38
- # raise "Details: #{details} #{error}"
39
36
  end
40
37
 
41
38
  # Just a mirror method for {tid}, just in case someone don't like the method name tid
@@ -74,6 +74,22 @@ describe Btjunkie do
74
74
  end
75
75
  end
76
76
  end
77
+
78
+ describe "empty request" do
79
+ before(:each) do
80
+ stub_request(:get, "http://btjunkie.org/browse/Video?o=72&p=10&s=1&t=1").to_return(:body => "")
81
+ end
82
+
83
+ it "should no raise an error" do
84
+ lambda {
85
+ Btjunkie.category(:movies).cookies(@cookies).page(10).results
86
+ }.should_not raise_error
87
+ end
88
+
89
+ it "should not contain any torrents" do
90
+ Btjunkie.category(:movies).cookies(@cookies).page(10).results.count.should be_zero
91
+ end
92
+ end
77
93
  end
78
94
 
79
95
  describe "bugs" do
@@ -98,4 +114,57 @@ describe Btjunkie do
98
114
  end
99
115
  end
100
116
  end
117
+
118
+ describe "#find_by_details" do
119
+ before(:each) do
120
+ @url = "http://btjunkie.org/torrent/Pirates-of-the-Caribbean-4-2011-XViD-MEM-ENG-AUDIO/3952ef0859f08bbc7b63c97c51bd9a02e154e0c38026"
121
+ end
122
+
123
+ describe "correct data" do
124
+ use_vcr_cassette "find_by_details"
125
+
126
+ before(:each) do
127
+ @torrent = Btjunkie.cookies(@cookies).find_by_details(@url)
128
+ end
129
+
130
+ it "should have a torrent url" do
131
+ @torrent.torrent.should eq("http://dl.btjunkie.org/torrent/Pirates-of-the-Caribbean-4-2011-XViD-MEM-ENG-AUDIO/3952ef0859f08bbc7b63c97c51bd9a02e154e0c38026/download.torrent")
132
+ end
133
+
134
+ it "should have some seeders" do
135
+ @torrent.seeders.should eq(62152)
136
+ end
137
+
138
+ it "should have some seeders" do
139
+ @torrent.details.should eq(@url)
140
+ end
141
+
142
+ it "should have a title" do
143
+ @torrent.title.should eq("Pirates of the Caribbean 4 2011 XViD- MEM [ENG AUDIO]")
144
+ end
145
+
146
+ it "should be valid" do
147
+ @torrent.should be_valid
148
+ end
149
+ end
150
+
151
+ describe "no data" do
152
+ before(:each) do
153
+ stub_request(:get, @url).to_return(:body => "")
154
+ end
155
+
156
+ it "should not raise an error if btjunkie.org returns strange data" do
157
+ torrent = Btjunkie.cookies(@cookies).find_by_details(@url)
158
+ lambda {
159
+ ["torrent", "seeders", "details", "title"].each do |method|
160
+ torrent.send(method)
161
+ end
162
+ }.should_not raise_error
163
+ end
164
+
165
+ it "should not be valid" do
166
+ Btjunkie.cookies(@cookies).find_by_details(@url).should_not be_valid
167
+ end
168
+ end
169
+ end
101
170
  end
@@ -0,0 +1,215 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://btjunkie.org:80/torrent/Pirates-of-the-Caribbean-4-2011-XViD-MEM-ENG-AUDIO/3952ef0859f08bbc7b63c97c51bd9a02e154e0c38026
6
+ body:
7
+ headers:
8
+ accept:
9
+ - "*/*; q=0.5, application/xml"
10
+ accept-encoding:
11
+ - gzip, deflate
12
+ timeout:
13
+ - "10"
14
+ response: !ruby/struct:VCR::Response
15
+ status: !ruby/struct:VCR::ResponseStatus
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ date:
20
+ - Mon, 23 May 2011 22:11:11 GMT
21
+ server:
22
+ - Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/0.9.8b PHP/5.2.14
23
+ x-powered-by:
24
+ - PHP/5.2.14
25
+ vary:
26
+ - Accept-Encoding
27
+ content-encoding:
28
+ - gzip
29
+ content-length:
30
+ - "8072"
31
+ content-type:
32
+ - text/html
33
+ body: !binary |
34
+ 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
213
+ xlABjpGnO/8LOysEG/+lAAA=
214
+
215
+ http_version: "1.1"
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: btjunkie
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Linus Oleander
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-17 00:00:00 +02:00
13
+ date: 2011-05-24 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -99,11 +99,12 @@ files:
99
99
  - lib/btjunkie/torrent.rb
100
100
  - spec/btjunkie_spec.rb
101
101
  - spec/fixtures/vcr_cassettes/bug1.yml
102
+ - spec/fixtures/vcr_cassettes/find_by_details.yml
102
103
  - spec/fixtures/vcr_cassettes/movies.yml
103
104
  - spec/spec_helper.rb
104
105
  - spec/torrent_spec.rb
105
106
  has_rdoc: true
106
- homepage: ""
107
+ homepage: https://github.com/oleander/Btjunkie
107
108
  licenses: []
108
109
 
109
110
  post_install_message:
@@ -133,6 +134,7 @@ summary: The unofficial API for btjunkie.org
133
134
  test_files:
134
135
  - spec/btjunkie_spec.rb
135
136
  - spec/fixtures/vcr_cassettes/bug1.yml
137
+ - spec/fixtures/vcr_cassettes/find_by_details.yml
136
138
  - spec/fixtures/vcr_cassettes/movies.yml
137
139
  - spec/spec_helper.rb
138
140
  - spec/torrent_spec.rb