Skip to content

Instantly share code, notes, and snippets.

@dpick
Created November 2, 2011 01:44
Show Gist options
  • Save dpick/1332616 to your computer and use it in GitHub Desktop.
Save dpick/1332616 to your computer and use it in GitHub Desktop.
def get_episode_information(filename)
show, season, episode_num = Parser.parse(filename)
puts "#{show} - S#{season} - E#{episode_num}"
@show = @tvdb.fetch_series_from_data(:title => show)
@show.episodes.each do |episode|
if episode.season_number.to_i == season && episode.episode_number.to_i == episode_num
@episode = episode
@episode[:episode_number] = "0" + @episode[:episode_number] if @episode[:episode_number].to_i < 10
break
end
end
end
def new_file_name
temp = "#{@show[:series_name]} - #{@episode[:season_number]}x#{@episode[:episode_number]} - #{@episode[:episode_name]}"
temp.gsub(/\//, "-")
end
def extension(filename)
filename.split(".").last
end
def rename_file
File.rename @filename, "#{new_file_name.gsub(/\//, "-")}.#{extension(@filename)}"
end
def generate_nfo
builder = Builder::XmlMarkup.new(:indent => 2)
xml = builder.episodedetails do |ep|
ep.title @episode[:episode_name]
ep.season @episode[:season_number]
ep.episode @episode[:episode_number]
ep.aired @episode[:first_aired]
ep.plot @episode[:overview]
end
File.open("#{new_file_name}.nfo", "w") { |f| f.write(xml) }
end
def generate_tbn
tbn_file = open("#{new_file_name}.tbn", "wb")
tbn_file.write(open(@episode.filename).read) unless @episode.filename.nil?
tbn_file.close
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment