torrentify 0.3 → 0.4
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/Rakefile +1 -1
- data/lib/manager/imdb_manager.rb +30 -0
- data/lib/manager/mechanize_manager.rb +30 -3
- data/lib/manager/sites/extratorrent_parser.rb +64 -0
- data/lib/manager/sites/isohunt_parser.rb +61 -0
- data/lib/manager/sites/kickass_parser.rb +9 -7
- data/lib/manager/sites/piratebay_parser.rb +66 -0
- data/lib/model/torrent_model.rb +25 -5
- data/lib/torrentify.rb +11 -1
- data/test/manager/imdb_manager_test.rb +25 -0
- data/test/manager/sites/extratorrent_parser_test.rb +26 -0
- data/test/manager/sites/isohunt_parser_test.rb +26 -0
- data/test/manager/sites/kickass_parser_test.rb +14 -20
- data/test/manager/sites/piratebay_parser_test.rb +26 -0
- data/test/manager/sites/test_data/extratorrent_mock_response.html +281 -0
- data/test/manager/sites/test_data/isohunt_mock_response.html +456 -0
- data/test/manager/sites/test_data/kickass_mock_response.html +841 -0
- data/test/manager/sites/test_data/piratebay_mock_response.html +302 -0
- data/test/manager/test_data/imdb_mock_response.html +1636 -0
- data/test/model/torrent_model_test.rb +39 -0
- data/test/test_helper.rb +2 -0
- data/torrentify.gemspec +5 -4
- metadata +44 -10
- data/test/manager/mechanize_manager_test.rb +0 -55
- data/test/torrentify_test.rb +0 -11
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
require_relative '../test_helper'
|
3
|
+
|
4
|
+
require_relative '../../lib/model/torrent_model'
|
5
|
+
|
6
|
+
# Tests for kickass
|
7
|
+
class TestTorrentModelClass < Test::Unit::TestCase
|
8
|
+
def test_model_to_s
|
9
|
+
torrent = Torrent.new('torrent_file', 'name', 'size', 'seeders', 'leechers')
|
10
|
+
|
11
|
+
assert_not_nil torrent
|
12
|
+
|
13
|
+
actual = capture_stdout do
|
14
|
+
puts torrent
|
15
|
+
end.string
|
16
|
+
|
17
|
+
expected = capture_stdout do
|
18
|
+
puts "torrent_file: torrent_file\n"
|
19
|
+
puts "name: name\n"
|
20
|
+
puts "size: size\n"
|
21
|
+
puts "seeders: seeders\n"
|
22
|
+
puts "leechers: leechers\n"
|
23
|
+
end.string
|
24
|
+
|
25
|
+
assert_equal expected, actual
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Capture of stdout to STDOUT var
|
30
|
+
module Kernel
|
31
|
+
def capture_stdout
|
32
|
+
out = StringIO.new
|
33
|
+
$stdout = out
|
34
|
+
yield
|
35
|
+
return out
|
36
|
+
ensure
|
37
|
+
$stdout = STDOUT
|
38
|
+
end
|
39
|
+
end
|
data/test/test_helper.rb
CHANGED
data/torrentify.gemspec
CHANGED
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'torrentify'
|
7
|
-
spec.version = 0.
|
7
|
+
spec.version = 0.4
|
8
8
|
spec.authors = ['david eriksson']
|
9
9
|
spec.email = ['davideriksson@swedenmail.com']
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
11
|
+
spec.summary = 'Baseapp for webscraping torrent-sites'
|
12
|
+
spec.description = 'Baseapp for webscraping torrent-sites'
|
13
13
|
spec.homepage = 'http://seppaleinen.github.io/torrentify'
|
14
14
|
|
15
15
|
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
@@ -33,5 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency 'coveralls', '0.8.2'
|
34
34
|
#spec.add_development_dependency 'rspec', '3.3.0'
|
35
35
|
spec.add_development_dependency 'test-unit', '3.1.3'
|
36
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
36
|
+
spec.add_development_dependency 'rubocop', '~> 0.34.0'
|
37
|
+
spec.add_development_dependency 'webmock', '1.21.0'
|
37
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torrentify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- david eriksson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|
@@ -120,15 +120,29 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.
|
123
|
+
version: 0.34.0
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0.
|
131
|
-
|
130
|
+
version: 0.34.0
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: webmock
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - '='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 1.21.0
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - '='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 1.21.0
|
145
|
+
description: Baseapp for webscraping torrent-sites
|
132
146
|
email:
|
133
147
|
- davideriksson@swedenmail.com
|
134
148
|
executables: []
|
@@ -142,14 +156,26 @@ files:
|
|
142
156
|
- Gemfile
|
143
157
|
- README.md
|
144
158
|
- Rakefile
|
159
|
+
- lib/manager/imdb_manager.rb
|
145
160
|
- lib/manager/mechanize_manager.rb
|
161
|
+
- lib/manager/sites/extratorrent_parser.rb
|
162
|
+
- lib/manager/sites/isohunt_parser.rb
|
146
163
|
- lib/manager/sites/kickass_parser.rb
|
164
|
+
- lib/manager/sites/piratebay_parser.rb
|
147
165
|
- lib/model/torrent_model.rb
|
148
166
|
- lib/torrentify.rb
|
149
|
-
- test/manager/
|
167
|
+
- test/manager/imdb_manager_test.rb
|
168
|
+
- test/manager/sites/extratorrent_parser_test.rb
|
169
|
+
- test/manager/sites/isohunt_parser_test.rb
|
150
170
|
- test/manager/sites/kickass_parser_test.rb
|
171
|
+
- test/manager/sites/piratebay_parser_test.rb
|
172
|
+
- test/manager/sites/test_data/extratorrent_mock_response.html
|
173
|
+
- test/manager/sites/test_data/isohunt_mock_response.html
|
174
|
+
- test/manager/sites/test_data/kickass_mock_response.html
|
175
|
+
- test/manager/sites/test_data/piratebay_mock_response.html
|
176
|
+
- test/manager/test_data/imdb_mock_response.html
|
177
|
+
- test/model/torrent_model_test.rb
|
151
178
|
- test/test_helper.rb
|
152
|
-
- test/torrentify_test.rb
|
153
179
|
- torrentify.gemspec
|
154
180
|
homepage: http://seppaleinen.github.io/torrentify
|
155
181
|
licenses: []
|
@@ -174,9 +200,17 @@ rubyforge_project:
|
|
174
200
|
rubygems_version: 2.4.6
|
175
201
|
signing_key:
|
176
202
|
specification_version: 4
|
177
|
-
summary:
|
203
|
+
summary: Baseapp for webscraping torrent-sites
|
178
204
|
test_files:
|
179
|
-
- test/manager/
|
205
|
+
- test/manager/imdb_manager_test.rb
|
206
|
+
- test/manager/sites/extratorrent_parser_test.rb
|
207
|
+
- test/manager/sites/isohunt_parser_test.rb
|
180
208
|
- test/manager/sites/kickass_parser_test.rb
|
209
|
+
- test/manager/sites/piratebay_parser_test.rb
|
210
|
+
- test/manager/sites/test_data/extratorrent_mock_response.html
|
211
|
+
- test/manager/sites/test_data/isohunt_mock_response.html
|
212
|
+
- test/manager/sites/test_data/kickass_mock_response.html
|
213
|
+
- test/manager/sites/test_data/piratebay_mock_response.html
|
214
|
+
- test/manager/test_data/imdb_mock_response.html
|
215
|
+
- test/model/torrent_model_test.rb
|
181
216
|
- test/test_helper.rb
|
182
|
-
- test/torrentify_test.rb
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require_relative '../test_helper'
|
2
|
-
|
3
|
-
require_relative '../../lib/mechanize_manager'
|
4
|
-
|
5
|
-
# Tests for code
|
6
|
-
class TestMechanizeManagerClass < Test::Unit::TestCase
|
7
|
-
class << self
|
8
|
-
def startup
|
9
|
-
puts 'Getting page and storing in class for reuse'
|
10
|
-
begin
|
11
|
-
search_term = 'a pigeon sat on a branch reflecting on existence'
|
12
|
-
@@page = MechanizeManager.new.search_kickass(search_term)
|
13
|
-
rescue ResponseCodeError
|
14
|
-
puts 'error getting page'
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def shutdown
|
19
|
-
end
|
20
|
-
|
21
|
-
def suite
|
22
|
-
mysuite = super
|
23
|
-
def mysuite.run(*args)
|
24
|
-
TestMechanizeManagerClass.startup
|
25
|
-
super
|
26
|
-
TestMechanizeManagerClass.shutdown
|
27
|
-
end
|
28
|
-
mysuite
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def setup
|
33
|
-
puts 'runs before each test'
|
34
|
-
end
|
35
|
-
|
36
|
-
def teardown
|
37
|
-
puts 'runs after each test'
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_get_web_page_kickass
|
41
|
-
assert_not_nil @@page
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# Capture of stdout to STDOUT var
|
46
|
-
module Kernel
|
47
|
-
def capture_stdout
|
48
|
-
out = StringIO.new
|
49
|
-
$stdout = out
|
50
|
-
yield
|
51
|
-
return out
|
52
|
-
ensure
|
53
|
-
$stdout = STDOUT
|
54
|
-
end
|
55
|
-
end
|
data/test/torrentify_test.rb
DELETED