+class NRKTVSeriesIE(InfoExtractor):
+ _VALID_URL = r'https?://tv\.nrk\.no/serie/(?P<id>[^/]+)/?'
+ _ITEM_RE = r'data-season=["\'](?P<id>\d+)["\']'
+ _TESTS = [{
+ 'url': 'https://tv.nrk.no/serie/broedrene-dal-og-spektralsteinene',
+ 'playlist_count': 1,
+ }, {
+ 'url': 'https://tv.nrk.no/serie/saving-the-human-race',
+ 'playlist_count': 1,
+ }, {
+ 'url': 'https://tv.nrk.no/serie/postmann-pat',
+ 'playlist_count': 3,
+ }, {
+ 'url': 'https://tv.nrk.no/serie/groenn-glede',
+ 'playlist_count': 9,
+ }]
+
+ def _real_extract(self, url):
+ series_id = self._match_id(url)
+
+ webpage = self._download_webpage(url, series_id)
+
+ entries = [
+ self.url_result('https://tv.nrk.no/program/Episodes/{series}/{season}'.format(
+ series=series_id,
+ season=season_id
+ ))
+ for season_id in re.findall(self._ITEM_RE, webpage)
+ ]
+
+ return self.playlist_result(entries)
+
+