subtitulos_downloader 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,7 +32,8 @@ module SubtitulosDownloader
32
32
 
33
33
  begin
34
34
  subs = get_subtitles(lang, episode_subs_table, show_sub)
35
- subtitle = Subtitle.new subs, language, show_episode, @direct_link, @provider_link, @provider_name, @provider_language
35
+ translators = get_translators(show_sub)
36
+ subtitle = Subtitle.new subs, language, show_episode, @translators, @direct_link, @provider_link, @provider_name, @provider_language
36
37
  rescue SDException => e
37
38
  if language == 'es'
38
39
  if lang == 'España'
@@ -55,8 +56,39 @@ module SubtitulosDownloader
55
56
 
56
57
  protected
57
58
 
59
+ def get_translators(show_sub)
60
+ open(@provider_link,
61
+ "User-Agent" => @user_agent,
62
+ "Referer" => "#{@base_uri}/show/#{show_sub[:id_show]}" ) { |f|
63
+
64
+ cont = f.read
65
+
66
+ ep_doc = Hpricot(cont)
67
+ split = @direct_link.split('/')
68
+ sub_id = [split.pop, split.pop].reverse.join('/')
69
+ ep_doc.search('span.descargar').each do |green|
70
+ a = green.search('a').at(0)
71
+ if a and a.attributes['href'] == @direct_link
72
+ translated = green.next_sibling.next_sibling.next_sibling
73
+ @translators = translated.search('a').count
74
+ return @translators
75
+
76
+ end
77
+ # title = (episode_table/"tr/td[@colspan='5']/a").inner_html.force_encoding('utf-8')
78
+ # episode_str = "%02d" % show_episode.episode
79
+ # episode_number = "#{show_episode.season}x#{episode_str}"
80
+ # if title =~ /#{episode_number}/i
81
+ # ep_t = episode_table
82
+ # break
83
+ # end
84
+ end
85
+ @translators = -1
86
+ }
87
+ end
88
+
58
89
  def get_subtitles(language, episode_table, show_sub)
59
90
  @provider_link = (episode_table/"td.NewsTitle/a").first.attributes['href']
91
+
60
92
  translation_unfinished = false
61
93
  (episode_table/"tr/td.language").each do |lang|
62
94
  language_sub = lang.inner_html.strip.force_encoding('utf-8')
@@ -2,9 +2,9 @@ module SubtitulosDownloader
2
2
 
3
3
  class Subtitle
4
4
 
5
- attr_accessor :subtitles, :language, :show_episode, :direct_link, :provider, :provider_link, :provider_language
5
+ attr_accessor :subtitles, :translators, :language, :show_episode, :direct_link, :provider, :provider_link, :provider_language
6
6
 
7
- def initialize(subs, language, show_episode, direct_link, provider_link, provider, provider_language)
7
+ def initialize(subs, language, show_episode, translators, direct_link, provider_link, provider, provider_language)
8
8
  @subtitles = subs
9
9
  @language = language
10
10
  @show_episode = show_episode
@@ -12,6 +12,7 @@ module SubtitulosDownloader
12
12
  @provider_link = provider_link
13
13
  @direct_link = direct_link
14
14
  @provider = provider
15
+ @translators = translators
15
16
  @provider_language = provider_language
16
17
  end
17
18
 
@@ -1,3 +1,3 @@
1
1
  module SubtitulosDownloader
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
@@ -33,7 +33,7 @@ describe SubtitulosDownloader::ShowEpisode do
33
33
 
34
34
  it 'should show the subtitle given a language' do
35
35
  episode = SubtitulosDownloader::ShowEpisode.new('fake show', 3, 3)
36
- subtitle = SubtitulosDownloader::Subtitle.new('subs', 'es', episode, 'direct_link', 'provider_link', 'provider', 'provider_language')
36
+ subtitle = SubtitulosDownloader::Subtitle.new('subs', 'es', episode, 10, 'direct_link', 'provider_link', 'provider', 'provider_language')
37
37
  sub = episode.subtitle_language 'es'
38
38
  sub.should == subtitle
39
39
  sub.subtitles.should =='subs'
@@ -9,7 +9,7 @@ describe SubtitulosDownloader::Subtitle do
9
9
  end
10
10
 
11
11
  it 'should initialize' do
12
- sub = SubtitulosDownloader::Subtitle.new('subs', 'en', @ep, 'direct_link', 'provider_link', 'provider', 'provider_language')
12
+ sub = SubtitulosDownloader::Subtitle.new('subs', 'en', @ep, 10, 'direct_link', 'provider_link', 'provider', 'provider_language')
13
13
  sub.subtitles.should == 'subs'
14
14
  sub.language.should == 'en'
15
15
  sub.show_episode.should == @ep
@@ -18,11 +18,11 @@ describe SubtitulosDownloader::Subtitle do
18
18
  end
19
19
 
20
20
  it 'should show the path to save' do
21
- sub = SubtitulosDownloader::Subtitle.new('subs', 'en', @ep, 'direct_link', 'provider_link', 'provider', 'provider_language')
21
+ sub = SubtitulosDownloader::Subtitle.new('subs', 'en', @ep, 10, 'direct_link', 'provider_link', 'provider', 'provider_language')
22
22
  sub.save_path.should == 'Fringe/Season 4/Fringe - 4x07 - Wallflower-English.srt'
23
- sub = SubtitulosDownloader::Subtitle.new('subs', 'es', @ep, 'direct_link', 'provider_link', 'provider', 'provider_language')
23
+ sub = SubtitulosDownloader::Subtitle.new('subs', 'es', @ep, 10, 'direct_link', 'provider_link', 'provider', 'provider_language')
24
24
  sub.save_path.should == 'Fringe/Season 4/Fringe - 4x07 - Wallflower-Spanish.srt'
25
- sub = SubtitulosDownloader::Subtitle.new('subs', 'ca', @ep, 'direct_link', 'provider_link', 'provider', 'provider_language')
25
+ sub = SubtitulosDownloader::Subtitle.new('subs', 'ca', @ep, 10, 'direct_link', 'provider_link', 'provider', 'provider_language')
26
26
  sub.save_path.should == 'Fringe/Season 4/Fringe - 4x07 - Wallflower-ca.srt'
27
27
  end
28
28
 
@@ -9,7 +9,19 @@ describe SubtitulosDownloader::SubtitulosEs do
9
9
  @ep = SubtitulosDownloader::ShowEpisode.new_from_file_name("Fringe.S04E07.HDTV.XviD-LOL.avi.avi")
10
10
  @simpsons = SubtitulosDownloader::ShowEpisode.new_from_file_name("The Simpsons - 20x05 - Dangerous Curves")
11
11
  @simpsons2 = SubtitulosDownloader::ShowEpisode.new_from_file_name("The Simpsons - 20x07 - Mypods and Boomsticks")
12
+ @breaking_bad = SubtitulosDownloader::ShowEpisode.new_from_file_name("Breaking Bad - 5x07 - Say My Name")
12
13
  @provider = SubtitulosDownloader::SubtitulosEs.new()
14
+
15
+ end
16
+
17
+ it 'should fetch number of translators' do
18
+ subtitle = @provider.fetch(@breaking_bad, 'es')
19
+ subtitle.translators.should == 30
20
+ end
21
+
22
+ it 'should fetch -1 for translators' do
23
+ subtitle = @provider.fetch(@breaking_bad, 'en')
24
+ subtitle.translators.should == -1
13
25
  end
14
26
 
15
27
  it 'should fetch spanish subtitle' do
@@ -60,6 +72,7 @@ describe SubtitulosDownloader::SubtitulosEs do
60
72
  subtitle.show_episode.should == episode
61
73
  subs = (subtitle.subtitles =~ /el reverendo R.G. Wendell/) > 1
62
74
  end
75
+
63
76
  end
64
77
 
65
78
  context "Rasing Exceptions" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subtitulos_downloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -115,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  segments:
117
117
  - 0
118
- hash: 2243448483779133464
118
+ hash: -4045992027944727546
119
119
  required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  none: false
121
121
  requirements:
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  version: '0'
125
125
  segments:
126
126
  - 0
127
- hash: 2243448483779133464
127
+ hash: -4045992027944727546
128
128
  requirements: []
129
129
  rubyforge_project: subtitulos_downloader
130
130
  rubygems_version: 1.8.24