btjunkie 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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