subdl 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/subdl/italiansubs.rb +34 -0
- data/lib/subdl/subtitles_net.rb +68 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5739ef670d14d5e93c31f3b60b0b28ce814467b8
|
4
|
+
data.tar.gz: 46cdcde8351cca83cb22afb7b7bf44cfed7ff7b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f21cdae5b3368b2ab515426e23bd154f89fb921d41b5bb1d72bb58c82e53f57e5117ab84bd4372de808db69c12efdcfa20eea690ecb9647857220aae1c39bb41
|
7
|
+
data.tar.gz: 46fdb557d1c4108f911e94c76df23fb98c1b31d300f86a13bda766045ace84772af6eecd595374eb9cd49547ae12cf65dbbf23d3404c5f87f1663ce3964353e6
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'mechanize'
|
2
|
+
|
3
|
+
class ItasaAgent
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@agent = Mechanize.new do |a|
|
7
|
+
a.user_agent_alias = 'Mac FireFox'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def get url
|
12
|
+
@agent.get url
|
13
|
+
end
|
14
|
+
|
15
|
+
def login username, password
|
16
|
+
return if logged_in?
|
17
|
+
page_where_to_login = 'http://www.italiansubs.net'
|
18
|
+
home_page = @agent.get page_where_to_login
|
19
|
+
login_form = home_page.form 'login'
|
20
|
+
login_form.username = username
|
21
|
+
login_form.passwd = password
|
22
|
+
@page = @agent.submit(login_form)
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def logged_in?
|
28
|
+
return false unless @page
|
29
|
+
link_that_exists_only_once_logged = @page.search(
|
30
|
+
"//a[@href='forum/index.php?action=unreadreplies']")
|
31
|
+
return link_that_exists_only_once_logged.first != nil
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'mechanize'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
class SubtitlesNet
|
5
|
+
def initialize
|
6
|
+
@agent = Mechanize.new
|
7
|
+
end
|
8
|
+
def search text, season, episode
|
9
|
+
@agent.get 'http://www.sub-titles.net/' do |page|
|
10
|
+
form = page.form_with( :name => 'sf3') do |search|
|
11
|
+
search.sK = text
|
12
|
+
search.sTS = season
|
13
|
+
search.sTE = episode
|
14
|
+
search.field_with(name:'sJ').value=2
|
15
|
+
# 2 -> Inglese
|
16
|
+
# 9 -> Italiano
|
17
|
+
end
|
18
|
+
return form.submit.body
|
19
|
+
end
|
20
|
+
end
|
21
|
+
def get url
|
22
|
+
@agent.get(url).body
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class SearchResults
|
27
|
+
def initialize html
|
28
|
+
@doc = Nokogiri::HTML(html)
|
29
|
+
end
|
30
|
+
|
31
|
+
def subtitles
|
32
|
+
return @doc.css('tr.a td').map do |cell|
|
33
|
+
SearchResultRow.new cell
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class SearchResultRow
|
38
|
+
def initialize cell
|
39
|
+
@cell = cell
|
40
|
+
end
|
41
|
+
def title
|
42
|
+
@cell.xpath('.//a[position()=2]').text
|
43
|
+
end
|
44
|
+
def href
|
45
|
+
@cell.xpath('.//a[position()=2]/@href').text
|
46
|
+
end
|
47
|
+
def filename
|
48
|
+
@cell.xpath(".//span[@class='opis'][1]").text
|
49
|
+
end
|
50
|
+
def season()
|
51
|
+
@cell.xpath(".//span[@class='opis'][2]/b[1]").text
|
52
|
+
end
|
53
|
+
def episode()
|
54
|
+
@cell.xpath(".//span[@class='opis'][2]/b[2]").text
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class DetailsPage
|
60
|
+
def initialize html
|
61
|
+
@doc = Nokogiri::HTML(html)
|
62
|
+
end
|
63
|
+
def zip_location
|
64
|
+
box = @doc.css('div.box')
|
65
|
+
box.css('a @href').first.value
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subdl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrea Francia
|
@@ -87,8 +87,10 @@ executables:
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
- lib/subdl.rb
|
91
90
|
- bin/subdl
|
91
|
+
- lib/subdl/italiansubs.rb
|
92
|
+
- lib/subdl/subtitles_net.rb
|
93
|
+
- lib/subdl.rb
|
92
94
|
homepage: https://github.com/andreafrancia/subdl
|
93
95
|
licenses: []
|
94
96
|
metadata: {}
|