Class: SubtitulosDownloader::SubtitulosDownloader

Inherits:
Object
  • Object
show all
Defined in:
lib/subtitulos_downloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ SubtitulosDownloader

Returns a new instance of SubtitulosDownloader.



12
13
14
15
16
17
18
19
# File 'lib/subtitulos_downloader.rb', line 12

def initialize(opts = {})
  options = {
    :provider => SubtitulosEs
  }.merge!(opts)
  
  @provider = options[:provider].new(options)
  @options = options
end

Instance Method Details

#fetch(show_name, season, episode, languages = %w[ es en ]) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/subtitulos_downloader.rb', line 21

def fetch(show_name, season, episode, languages = %w[ es en ])
  languages = [languages] if not languages.respond_to?('each')
  show_episode = ShowEpisode.new(show_name, season, episode, @options)
  languages.each do |language|
    @provider.fetch(show_episode, language)
  end
  show_episode
end

#fetch_by_file_name(file_name, languages = %w[ es en ]) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/subtitulos_downloader.rb', line 30

def fetch_by_file_name(file_name, languages = %w[ es en ])
  languages = [languages] if not languages.respond_to?('each')
  show_episode = ShowEpisode.new_from_file_name(file_name, @options)
  languages.each do |language|
    @provider.fetch(show_episode, language)
  end
  show_episode
end

#fetch_by_show_episode(show_episode, languages = %w[ es en ]) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/subtitulos_downloader.rb', line 39

def fetch_by_show_episode(show_episode, languages = %w[ es en ])
  languages = [languages] if not languages.respond_to?('each')
  languages.each do |language|
    @provider.fetch(show_episode, language)
  end
  show_episode
end

#save_subs_to_path(show_episode, path) ⇒ Object



47
48
49
50
51
52
53
54
55
# File 'lib/subtitulos_downloader.rb', line 47

def save_subs_to_path(show_episode, path)
  show_episode.subtitles.each do |subtitle|
    check_if_path_exists("#{path}/#{show_episode.show_path}")
    check_if_path_exists("#{path}/#{show_episode.season_path}")
    file = File.new("#{path}/#{subtitle.save_path}", "w")
    file.write(subtitle.subtitles)
    file.close
  end
end