subtitulos_downloader 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -57,31 +57,37 @@ module SubtitulosDownloader
57
57
 
58
58
  def get_subtitles(language, episode_table, show_sub)
59
59
  @provider_link = (episode_table/"td.NewsTitle/a").first.attributes['href']
60
+ translation_unfinished = false
60
61
  (episode_table/"tr/td.language").each do |lang|
61
62
  language_sub = lang.inner_html.strip.force_encoding('utf-8')
62
63
  if language_sub =~ /#{language}/i
63
- # puts "Language #{language} found"
64
- if not lang.next_sibling.inner_html =~ /[0-9]+\.?[0-9]*% Completado/i
65
- # puts "Translation for language #{language} completed"
66
- subtitle_a = lang.parent.search("a").at(0)
67
- subtitle_url = subtitle_a.attributes['href']
68
- # puts "Fetching #{language} subtitle file"
69
- @provider_language = language_sub
70
- @direct_link = subtitle_url
71
- # @provider_link = "#{@base_uri}/show/#{show_sub[:id_show]}"
72
- open(subtitle_url,
73
- "User-Agent" => @user_agent,
74
- "Referer" => "#{@base_uri}/show/#{show_sub[:id_show]}") { |f|
75
- # Save the response body
76
- subs= f.read
77
- return subs
78
- }
79
- else
80
- raise TranslationNotFinished, "[#{@provider_name}] #{language} translation not finished for #{show_sub[:show_episode].full_name}"
81
- end
64
+ # puts "Language #{language} found"
65
+ if not lang.next_sibling.inner_html =~ /[0-9]+\.?[0-9]*% Completado/i
66
+ # puts "Translation for language #{language} completed"
67
+ subtitle_a = lang.parent.search("a").at(0)
68
+ subtitle_url = subtitle_a.attributes['href']
69
+ # puts "Fetching #{language} subtitle file"
70
+ @provider_language = language_sub
71
+ @direct_link = subtitle_url
72
+ # @provider_link = "#{@base_uri}/show/#{show_sub[:id_show]}"
73
+ translation_unfinished = false
74
+ open(subtitle_url,
75
+ "User-Agent" => @user_agent,
76
+ "Referer" => "#{@base_uri}/show/#{show_sub[:id_show]}") { |f|
77
+ # Save the response body
78
+ subs= f.read
79
+ return subs
80
+ }
81
+ else
82
+ translation_unfinished = true
83
+ end
82
84
  end
83
85
  end
84
- raise LanguageNotFound, "[#{@provider_name}] #{language} not found for #{show_sub[:show_episode].full_name}"
86
+ if translation_unfinished
87
+ raise TranslationNotFinished, "[#{@provider_name}] #{language} translation not finished for #{show_sub[:show_episode].full_name}"
88
+ else
89
+ raise LanguageNotFound, "[#{@provider_name}] #{language} not found for #{show_sub[:show_episode].full_name}"
90
+ end
85
91
  end
86
92
 
87
93
 
@@ -98,6 +104,7 @@ module SubtitulosDownloader
98
104
  show_url = show_subs.attributes['href']
99
105
  show = { :show_episode => show_episode, :url => show_url, :id_show => show_url.split('/show/')[1].to_i }
100
106
  if (show_name == show_episode.show_name)
107
+ shows = []
101
108
  shows << show
102
109
  break
103
110
  elsif show_name =~ /^#{show_episode.show_name}/i and (show_name != 'Scrubs Interns' and show_name != 'true blood minisodes')
@@ -1,3 +1,3 @@
1
1
  module SubtitulosDownloader
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
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, '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'
@@ -52,6 +52,14 @@ describe SubtitulosDownloader::SubtitulosEs do
52
52
  subs = (subtitle.subtitles =~ /Quello che conta e' che sono nei guai./) > 1
53
53
  subs.should == true
54
54
  end
55
+
56
+ it 'should fetch second español if first is not completed' do
57
+ episode = SubtitulosDownloader::ShowEpisode.new('Hustle', 7, 3)
58
+ subtitle = @provider.fetch(episode, 'es')
59
+ subtitle.language.should == 'es'
60
+ subtitle.show_episode.should == episode
61
+ subs = (subtitle.subtitles =~ /el reverendo R.G. Wendell/) > 1
62
+ end
55
63
  end
56
64
 
57
65
  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.0
4
+ version: 0.6.1
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: -1144419666492793032
118
+ hash: 2243448483779133464
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: -1144419666492793032
127
+ hash: 2243448483779133464
128
128
  requirements: []
129
129
  rubyforge_project: subtitulos_downloader
130
130
  rubygems_version: 1.8.24