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)
| 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'] |
no test coverage detected