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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d2db16138366c1df81aeaa2223014160c3d3d34c
4
- data.tar.gz: c4766a193aab8bd65530651d666cb0aeb0ae3f5c
3
+ metadata.gz: 5739ef670d14d5e93c31f3b60b0b28ce814467b8
4
+ data.tar.gz: 46cdcde8351cca83cb22afb7b7bf44cfed7ff7b7
5
5
  SHA512:
6
- metadata.gz: ecfbaf73ca2b4cd282b40d5f0599393cd6beeb8d35414439ffa83d2592b1849eb69f5c2636df0eb5068f521873805962c67c5e12b95ef3b81f6be7edac5f075f
7
- data.tar.gz: fed07781bea4e3620b5cb5433cbdbfa2b6dbd20e2046ec073a36cdc13f07064f23ae39341dd358d3870d085a4a0df099f1beaf418326c3e7e3e76988de8e4305
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.9
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: {}