MCPcopy Create free account
hub / github.com/dbr/tvdb_api / _getShowData

Method _getShowData

tvdb_api.py:1044–1120  ·  view source on GitHub ↗

Takes a series ID, gets the epInfo URL and parses the TVDB XML file into the shows dict in layout: shows[series_id][season_number][episode_number]

(self, sid, language)

Source from the content-addressed store, hash-verified

1042 self._setShowData(sid, '_actors', cur_actors)
1043
1044 def _getShowData(self, sid, language):
1045 """Takes a series ID, gets the epInfo URL and parses the TVDB
1046 XML file into the shows dict in layout:
1047 shows[series_id][season_number][episode_number]
1048 """
1049
1050 if self.config['language'] is None:
1051 LOG.debug('Config language is none, using show language')
1052 if language is None:
1053 raise tvdb_error("config['language'] was None, this should not happen")
1054 else:
1055 LOG.debug(
1056 'Configured language %s override show language of %s'
1057 % (self.config['language'], language)
1058 )
1059
1060 # Parse show information
1061 LOG.debug('Getting all series data for %s' % (sid))
1062 series_info_resp = self._getetsrc(self.config['url_seriesInfo'] % sid)
1063 for tag, value in series_info_resp.items():
1064 if value is not None:
1065 if tag in ['banner', 'fanart', 'poster']:
1066 value = self.config['url_artworkPrefix'] % (value)
1067
1068 self._setShowData(sid, tag, value)
1069 # set language
1070 self._setShowData(sid, u'language', self.config['language'])
1071
1072 # Parse banners
1073 if self.config['banners_enabled']:
1074 self._parseBanners(sid)
1075
1076 # Parse actors
1077 if self.config['actors_enabled']:
1078 self._parseActors(sid)
1079
1080 # Parse episode data
1081 LOG.debug('Getting all episodes of %s' % (sid))
1082
1083 url = self.config['url_epInfo'] % sid
1084
1085 eps_resp = self._getetsrc(url, language=language)
1086
1087 for cur_ep in eps_resp:
1088
1089 if self.config['dvdorder']:
1090 LOG.debug('Using DVD ordering.')
1091 use_dvd = (
1092 cur_ep.get('dvdSeason') is not None
1093 and cur_ep.get('dvdEpisodeNumber') is not None
1094 )
1095 else:
1096 use_dvd = False
1097
1098 if use_dvd:
1099 elem_seasnum, elem_epno = cur_ep.get('dvdSeason'), cur_ep.get('dvdEpisodeNumber')
1100 else:
1101 elem_seasnum, elem_epno = cur_ep['airedSeason'], cur_ep['airedEpisodeNumber']

Callers 2

_nameToSidMethod · 0.95
__getitem__Method · 0.95

Calls 5

_getetsrcMethod · 0.95
_setShowDataMethod · 0.95
_parseBannersMethod · 0.95
_parseActorsMethod · 0.95
_setItemMethod · 0.95

Tested by

no test coverage detected