subtitulos_downloader 0.6.1 → 0.6.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.
@@ -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