From 02cbee0da1a320130e18613d0f23b9276557b9a9 Mon Sep 17 00:00:00 2001 From: Pavel Krasnovskij Date: Wed, 15 Jan 2014 15:48:32 +0000 Subject: [PATCH 1/3] add imdb id to episode --- lib/tvdb_party/episode.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/tvdb_party/episode.rb b/lib/tvdb_party/episode.rb index 7fa74e3..d84b0fc 100644 --- a/lib/tvdb_party/episode.rb +++ b/lib/tvdb_party/episode.rb @@ -1,11 +1,12 @@ module TvdbParty class Episode attr_reader :client - attr_accessor :id, :season_number, :number, :name, :overview, :air_date, :thumb, :guest_stars, :director, :writer + attr_accessor :id, :imdb_id, :season_number, :number, :name, :overview, :air_date, :thumb, :guest_stars, :director, :writer def initialize(client, options={}) @client = client @id = options["id"] + @imdb_id = options["IMDB_ID"] @season_number = options["SeasonNumber"] @number = options["EpisodeNumber"] @name = options["EpisodeName"] @@ -31,4 +32,4 @@ def series client.get_series_by_id(@series_id) end end -end \ No newline at end of file +end From ddcb773fa88340506fcdf60d461dd5b878194a09 Mon Sep 17 00:00:00 2001 From: Pavel K Date: Sun, 11 Sep 2016 18:02:16 +0200 Subject: [PATCH 2/3] allow search by language --- lib/tvdb_party/search.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tvdb_party/search.rb b/lib/tvdb_party/search.rb index 37b4987..669e9de 100644 --- a/lib/tvdb_party/search.rb +++ b/lib/tvdb_party/search.rb @@ -16,8 +16,8 @@ def initialize(the_api_key, language = 'en', cache_options = {}) end - def search(series_name) - response = self.class.get("/GetSeries.php", {:query => {:seriesname => series_name, :language => @language}}).parsed_response + def search(series_name, language = self.language) + response = self.class.get("/GetSeries.php", {:query => {:seriesname => series_name, :language => language}}).parsed_response return [] unless response["Data"] case response["Data"]["Series"] From 3ba550deb9e0b8178293a9c6a73edcd485eb6f8b Mon Sep 17 00:00:00 2001 From: Pavel K Date: Mon, 12 Sep 2016 13:27:01 +0200 Subject: [PATCH 3/3] fetch episodes of same language as series --- lib/tvdb_party/search.rb | 8 ++++---- lib/tvdb_party/series.rb | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/tvdb_party/search.rb b/lib/tvdb_party/search.rb index 669e9de..528ecd6 100644 --- a/lib/tvdb_party/search.rb +++ b/lib/tvdb_party/search.rb @@ -49,8 +49,8 @@ def get_episode_by_id(episode_id, language = self.language) end end - def get_episode(series, season_number, episode_number, language = self.language) - response = self.class.get("/#{@api_key}/series/#{series.id}/default/#{season_number}/#{episode_number}/#{language}.xml").parsed_response + def get_episode(series, season_number, episode_number) + response = self.class.get("/#{@api_key}/series/#{series.id}/default/#{season_number}/#{episode_number}/#{series.language}.xml").parsed_response if response["Data"] && response["Data"]["Episode"] Episode.new(self, response["Data"]["Episode"]) else @@ -58,8 +58,8 @@ def get_episode(series, season_number, episode_number, language = self.language) end end - def get_all_episodes(series, language = self.language) - response = self.class.get("/#{@api_key}/series/#{series.id}/all/#{language}.xml").parsed_response + def get_all_episodes(series) + response = self.class.get("/#{@api_key}/series/#{series.id}/all/#{series.language}.xml").parsed_response return [] unless response["Data"] && response["Data"]["Episode"] case response["Data"]["Episode"] when Array diff --git a/lib/tvdb_party/series.rb b/lib/tvdb_party/series.rb index 0123ccf..390947c 100644 --- a/lib/tvdb_party/series.rb +++ b/lib/tvdb_party/series.rb @@ -2,7 +2,7 @@ module TvdbParty class Series attr_reader :client attr_accessor :id, :name, :overview, :seasons, :first_aired, :genres, :network, :rating, :runtime, - :actors, :banners, :air_time, :imdb_id + :actors, :banners, :air_time, :imdb_id, :language def initialize(client, options={}) @client = client @@ -11,6 +11,7 @@ def initialize(client, options={}) @overview = options["Overview"] @network = options["Network"] @runtime = options["Runtime"] + @language = options["Language"] @air_time = options['Airs_Time'] if options['Airs_Time'] @imdb_id = options["IMDB_ID"]