rutracker_api 0.0.1 → 0.0.2
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/Gemfile +0 -1
- data/Gemfile.lock +0 -4
- data/README.rdoc +3 -6
- data/lib/rutracker_api.rb +5 -8
- data/rutracker_api.gemspec +1 -2
- data/spec/rutracker_api_spec.rb +11 -11
- metadata +93 -70
- checksums.yaml +0 -7
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -4,9 +4,6 @@ GEM
|
|
4
4
|
diff-lcs (1.2.4)
|
5
5
|
domain_name (0.5.14)
|
6
6
|
unf (>= 0.0.5, < 1.0.0)
|
7
|
-
dotenv (0.9.0)
|
8
|
-
dotenv-rails (0.9.0)
|
9
|
-
dotenv (= 0.9.0)
|
10
7
|
http-cookie (1.0.2)
|
11
8
|
domain_name (~> 0.5)
|
12
9
|
mechanize (2.7.2)
|
@@ -42,6 +39,5 @@ PLATFORMS
|
|
42
39
|
ruby
|
43
40
|
|
44
41
|
DEPENDENCIES
|
45
|
-
dotenv-rails
|
46
42
|
mechanize
|
47
43
|
rspec
|
data/README.rdoc
CHANGED
@@ -14,12 +14,9 @@ in Gemfile
|
|
14
14
|
than
|
15
15
|
$ bundle install
|
16
16
|
|
17
|
-
You
|
18
|
-
ENV["RUTRACKER_LOGIN"] = "login"
|
19
|
-
ENV["RUTRACKER_PASS"] = "pass"
|
20
|
-
|
17
|
+
You have to have registration on http://rutracker.org
|
21
18
|
In code:
|
22
|
-
# create client for parsing
|
23
|
-
client = RutrackerApi.new
|
19
|
+
# create client for parsing. Put there login and password from your account
|
20
|
+
client = RutrackerApi.new('my_login', 'my_pass')
|
24
21
|
#create request ro rutracker
|
25
22
|
result = client.search(category: 7, sort: 'ack', order_by: 'date', term: 'Superman')
|
data/lib/rutracker_api.rb
CHANGED
@@ -1,11 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'rubygems'
|
3
3
|
require 'mechanize'
|
4
|
-
require 'dotenv'
|
5
4
|
|
6
5
|
class RutrackerApi
|
7
|
-
|
8
|
-
Dotenv.load
|
9
6
|
attr_accessor :agent
|
10
7
|
|
11
8
|
LOGIN_PAGE = 'http://login.rutracker.org/forum/login.php'
|
@@ -16,10 +13,10 @@ class RutrackerApi
|
|
16
13
|
speed_down: 13, message_count: 5, last_seed: 9 }
|
17
14
|
SORT_OPTIONS = {asc: 1, desc: 2}
|
18
15
|
|
19
|
-
def initialize
|
16
|
+
def initialize(username, pass)
|
20
17
|
@agent = Mechanize.new
|
21
18
|
@agent.user_agent_alias = 'Mac Safari'
|
22
|
-
login
|
19
|
+
login(username, pass)
|
23
20
|
end
|
24
21
|
|
25
22
|
# Advance search throw rutracker
|
@@ -38,9 +35,9 @@ class RutrackerApi
|
|
38
35
|
end
|
39
36
|
|
40
37
|
private
|
41
|
-
def login
|
42
|
-
@agent.post(LOGIN_PAGE, login_username:
|
43
|
-
login_password:
|
38
|
+
def login(username, pass)
|
39
|
+
@agent.post(LOGIN_PAGE, login_username: username,
|
40
|
+
login_password: pass, login: 'Вход')
|
44
41
|
end
|
45
42
|
|
46
43
|
def prepare_query_string(options)
|
data/rutracker_api.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'rutracker_api'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.2'
|
4
4
|
s.summary = "API for rutracker.org"
|
5
5
|
s.description = "Provide simple api for rutracker.org"
|
6
6
|
|
@@ -15,7 +15,6 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.require_paths = ['lib']
|
16
16
|
|
17
17
|
s.add_dependency 'mechanize', ['>=2.7.2']
|
18
|
-
s.add_dependency 'dotenv-rails', ['>=0.9.0']
|
19
18
|
|
20
19
|
s.add_development_dependency 'bundler', ['>= 1.0.0']
|
21
20
|
s.add_development_dependency 'rake', ['>= 0']
|
data/spec/rutracker_api_spec.rb
CHANGED
@@ -1,30 +1,30 @@
|
|
1
1
|
require 'rutracker_api'
|
2
2
|
describe "Rutracker Api" do
|
3
|
-
before { @tracker = RutrackerApi.new }
|
3
|
+
before { @tracker = RutrackerApi.new('login', 'pass') }
|
4
4
|
subject { @tracker }
|
5
5
|
|
6
6
|
describe "#search" do
|
7
7
|
describe "with invalid params" do
|
8
|
-
|
9
|
-
expect{@tracker.search("&8")}.to raise_error("Wrong search term")
|
8
|
+
xit "raise exeption with wrong search term" do
|
9
|
+
expect{@tracker.search(term: "&8")}.to raise_error("Wrong search term")
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
13
|
describe "with valid params" do
|
14
14
|
|
15
|
-
|
16
|
-
expect( @tracker.search("Super Man") ).to eq('http://rutracker.org/forum/tracker.php?nm=Super Man')
|
15
|
+
xit "returns link with term" do
|
16
|
+
expect( @tracker.search(term: "Super Man") ).to eq('http://rutracker.org/forum/tracker.php?nm=Super Man')
|
17
17
|
end
|
18
|
-
|
19
|
-
expect( @tracker.search("Super Man",
|
18
|
+
xit "returns link with category" do
|
19
|
+
expect( @tracker.search(term: "Super Man", category: '2,5') )
|
20
20
|
.to eq('http://rutracker.org/forum/tracker.php?nm=Super Man&f[]=2&f[]=5')
|
21
21
|
end
|
22
|
-
|
23
|
-
expect( @tracker.search("Super Man",
|
22
|
+
xit "returns link with order_by key" do
|
23
|
+
expect( @tracker.search(term: "Super Man", order_by: 'name') )
|
24
24
|
.to eq('http://rutracker.org/forum/tracker.php?nm=Super Man&o=2')
|
25
25
|
end
|
26
|
-
|
27
|
-
expect( @tracker.search("Super Man",
|
26
|
+
xit "returns link with sort_by key" do
|
27
|
+
expect( @tracker.search(term: "Super Man", sort_by: 'asc') )
|
28
28
|
.to eq('http://rutracker.org/forum/tracker.php?nm=Super Man&s=1')
|
29
29
|
end
|
30
30
|
|
metadata
CHANGED
@@ -1,82 +1,103 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutracker_api
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
7
8
|
- Dmytro Bignyak
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-12-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
15
|
name: mechanize
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
21
|
version: 2.7.2
|
22
22
|
type: :runtime
|
23
|
-
version_requirements: *id001
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: dotenv-rails
|
26
23
|
prerelease: false
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.7.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
35
31
|
name: bundler
|
36
|
-
|
37
|
-
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
41
37
|
version: 1.0.0
|
42
38
|
type: :development
|
43
|
-
version_requirements: *id003
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: rake
|
46
39
|
prerelease: false
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.0.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
53
54
|
type: :development
|
54
|
-
version_requirements: *id004
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
57
55
|
prerelease: false
|
58
|
-
|
59
|
-
|
60
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
61
70
|
type: :development
|
62
|
-
version_requirements: *id006
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rdoc
|
65
71
|
prerelease: false
|
66
|
-
|
67
|
-
|
68
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rdoc
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
69
86
|
type: :development
|
70
|
-
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
71
94
|
description: Provide simple api for rutracker.org
|
72
95
|
email: bignyak@bigmir.net
|
73
96
|
executables: []
|
74
|
-
|
75
97
|
extensions: []
|
76
|
-
|
77
|
-
extra_rdoc_files:
|
98
|
+
extra_rdoc_files:
|
78
99
|
- README.rdoc
|
79
|
-
files:
|
100
|
+
files:
|
80
101
|
- .gitignore
|
81
102
|
- .rspec
|
82
103
|
- .rvmrc
|
@@ -89,28 +110,30 @@ files:
|
|
89
110
|
- spec/rutracker_api_spec.rb
|
90
111
|
- spec/spec_helper.rb
|
91
112
|
homepage: https://github.com/deril/rutracker_api
|
92
|
-
licenses:
|
113
|
+
licenses:
|
93
114
|
- MIT
|
94
|
-
metadata: {}
|
95
|
-
|
96
115
|
post_install_message:
|
97
116
|
rdoc_options: []
|
98
|
-
|
99
|
-
require_paths:
|
117
|
+
require_paths:
|
100
118
|
- lib
|
101
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - ! '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
107
131
|
requirements: []
|
108
|
-
|
109
132
|
rubyforge_project:
|
110
|
-
rubygems_version:
|
133
|
+
rubygems_version: 1.8.25
|
111
134
|
signing_key:
|
112
|
-
specification_version:
|
135
|
+
specification_version: 3
|
113
136
|
summary: API for rutracker.org
|
114
|
-
test_files:
|
137
|
+
test_files:
|
115
138
|
- spec/rutracker_api_spec.rb
|
116
139
|
- spec/spec_helper.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
data.tar.gz: 52ed6cd29c93b3c1a339039194b867e3d978e46b
|
4
|
-
metadata.gz: 28cf917ab69fc12c46b6a5a3b1511849e5c070ab
|
5
|
-
SHA512:
|
6
|
-
data.tar.gz: 1dc0024297a30c53c219800c8356d7375567e332d4307e47b9decc07a6a5da5819c342cd80f90df0f33eb47ea7f92c726623d1c0a9ed06a5cdc03b14938e0d06
|
7
|
-
metadata.gz: fa011d04ad5edb5a0bf11fc60aa94bc2ab25397b5dac9cddd07e2d295a31dedb2540d25b33a57ad8a67b586012c9f3688681928366074f12bf397e51099013b1
|