Repository: yt-dlp/yt-dlp
File: yt_dlp/extractor/drtv.py (Python)

Code before:
            'timestamp': 1603188600,
            'upload_date': '20201020',
            'duration': 2576.6,
            'season': 'Bonderøven 2019',
            'season_id': 'urn:dr:mu:bundle:5c201667a11fa01ca4528ce5',
            'release_year': 2019,
            'season_number': 2019,
            'series': 'Frank & Kastaniegaarden'
        },
        'expected_warnings': ['Ignoring subtitle tracks found in the HLS manifest'],
        'params': {
            'skip_download': True,
        },
    }, {
        'url': 'https://www.dr.dk/drtv/episode/bonderoeven_71769',
        'only_matching': True,
    }, {
        'url': 'https://dr-massive.com/drtv/se/bonderoeven_71769',
        'only_matching': True,
    }, {
        'url': 'https://www.dr.dk/drtv/program/jagten_220924',
        'only_matching': True,
    }, {
        'url': 'https://www.dr.dk/lyd/p4aarhus/regionale-nyheder-ar4/regionale-nyheder-2022-05-05-12-30-3',
        'info_dict': {
            'id': "urn:dr:mu:programcard:6265cb2571401424d0360113",
            'title': "Regionale nyheder",
            'ext': 'mp4',
            'duration': 120.043,
            'series': 'P4 Østjylland regionale nyheder',
            'timestamp': 1651746600,
            'season': 'Regionale nyheder',
            'release_year': 0,
            'season_id': 'urn:dr:mu:bundle:61c26889539f0201586b73c5',
            'description': '',
            'upload_date': '20220505',
        },
        'params': {
            'skip_download': True,
        },
    }]

    def _real_extract(self, url):
        video_id = self._match_id(url)

        webpage = self._download_webpage(url, video_id)

        if '>Programmet er ikke længere tilgængeligt' in webpage:
            raise ExtractorError(
                'Video %s is not available' % video_id, expected=True)


Review comment (suggestion):
```suggestion
            'id': 'urn:dr:mu:programcard:6265cb2571401424d0360113',
```

Code after:
            'upload_date': '20201020',
            'duration': 2576.6,
            'season': 'Bonderøven 2019',
            'season_id': 'urn:dr:mu:bundle:5c201667a11fa01ca4528ce5',
            'release_year': 2019,
            'season_number': 2019,
            'series': 'Frank & Kastaniegaarden'
        },
        'params': {
            'skip_download': True,
        },
    }, {
        'url': 'https://www.dr.dk/drtv/episode/bonderoeven_71769',
        'only_matching': True,
    }, {
        'url': 'https://dr-massive.com/drtv/se/bonderoeven_71769',
        'only_matching': True,
    }, {
        'url': 'https://www.dr.dk/drtv/program/jagten_220924',
        'only_matching': True,
    }, {
        'url': 'https://www.dr.dk/lyd/p4aarhus/regionale-nyheder-ar4/regionale-nyheder-2022-05-05-12-30-3',
        'info_dict': {
            'id': 'urn:dr:mu:programcard:6265cb2571401424d0360113',
            'title': "Regionale nyheder",
            'ext': 'mp4',
            'duration': 120.043,
            'series': 'P4 Østjylland regionale nyheder',
            'timestamp': 1651746600,
            'season': 'Regionale nyheder',
            'release_year': 0,
            'season_id': 'urn:dr:mu:bundle:61c26889539f0201586b73c5',
            'description': '',
            'upload_date': '20220505',
        },
        'params': {
            'skip_download': True,
        },
    }]

    def _real_extract(self, url):
        video_id = self._match_id(url)

        webpage = self._download_webpage(url, video_id)

        if '>Programmet er ikke længere tilgængeligt' in webpage:
            raise ExtractorError(
                'Video %s is not available' % video_id, expected=True)

        video_id = self._search_regex(
            (r'data-(?:material-identifier|episode-slug)="([^"]+)"',