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

Code before:
    determine_ext,
    KNOWN_EXTENSIONS,
    str_to_int,
)


class HearThisAtIE(InfoExtractor):
    _VALID_URL = r'https?://(?:www\.)?hearthis\.at/(?P<artist>[^/?#]+)/(?P<title>[\w.-]+)'
    _PLAYLIST_URL = 'https://hearthis.at/playlist.php'
    _TESTS = [{
        'url': 'https://hearthis.at/moofi/dr-kreep',
        'md5': 'ab6ec33c8fed6556029337c7885eb4e0',
        'info_dict': {
            'id': '150939',
            'display_id': 'moofi - dr-kreep',
            'ext': 'wav',
            'title': 'Moofi - Dr. Kreep',
            'thumbnail': r're:^https?://.*\.jpg$',
            'timestamp': 1421564134,
            'description': 'md5:1adb0667b01499f9d27e97ddfd53852a',
            'upload_date': '20150118',
            'view_count': int,
            'duration': 70,
            'genres': ['Experimental'],

        }
    }, {
        # 'download' link redirects to the original webpage
        'url': 'https://hearthis.at/twitchsf/dj-jim-hopkins-totally-bitchin-80s-dance-mix/',
        'md5': '5980ceb7c461605d30f1f039df160c6e',
        'info_dict': {
            'id': '811296',
            'display_id': 'twitchsf - dj-jim-hopkins-totally-bitchin-80s-dance-mix',
            'ext': 'mp3',
            'title': 'TwitchSF - DJ Jim Hopkins -  Totally Bitchin\' 80\'s Dance Mix!',
            'description': 'md5:ef26815ca8f483272a87b137ff175be2',
            'upload_date': '20160328',
            'timestamp': 1459186146,
            'thumbnail': r're:^https?://.*\.jpg$',
            'view_count': int,
            'duration': 4360,
            'genres': ['Dance'],
        },
    }, {
        'url': 'https://hearthis.at/tindalos/0001-tindalos-gnrique/eQd/',
        'md5': 'cd08e51911f147f6da2d9678905b0bd9',
        'info_dict': {
            'id': '2685222',
            'ext': 'mp3',
            'duration': 86,
            'view_count': int,

Review comment (suggestion):
```suggestion
            'genres': ['Experimental'],
        },
```

Code after:
    determine_ext,
    KNOWN_EXTENSIONS,
    str_to_int,
)


class HearThisAtIE(InfoExtractor):
    _VALID_URL = r'https?://(?:www\.)?hearthis\.at/(?P<artist>[^/?#]+)/(?P<title>[\w.-]+)'
    _PLAYLIST_URL = 'https://hearthis.at/playlist.php'
    _TESTS = [{
        'url': 'https://hearthis.at/moofi/dr-kreep',
        'md5': 'ab6ec33c8fed6556029337c7885eb4e0',
        'info_dict': {
            'id': '150939',
            'display_id': 'moofi - dr-kreep',
            'ext': 'wav',
            'title': 'Moofi - Dr. Kreep',
            'thumbnail': r're:^https?://.*\.jpg$',
            'timestamp': 1421564134,
            'description': 'md5:1adb0667b01499f9d27e97ddfd53852a',
            'upload_date': '20150118',
            'view_count': int,
            'duration': 70,
            'genres': ['Experimental'],
        },
    }, {
        # 'download' link redirects to the original webpage
        'url': 'https://hearthis.at/twitchsf/dj-jim-hopkins-totally-bitchin-80s-dance-mix/',
        'md5': '5980ceb7c461605d30f1f039df160c6e',
        'info_dict': {
            'id': '811296',
            'display_id': 'twitchsf - dj-jim-hopkins-totally-bitchin-80s-dance-mix',
            'ext': 'mp3',
            'title': 'TwitchSF - DJ Jim Hopkins -  Totally Bitchin\' 80\'s Dance Mix!',
            'description': 'md5:ef26815ca8f483272a87b137ff175be2',
            'upload_date': '20160328',
            'timestamp': 1459186146,
            'thumbnail': r're:^https?://.*\.jpg$',
            'view_count': int,
            'duration': 4360,
            'genres': ['Dance'],
        },
    }, {
        'url': 'https://hearthis.at/tindalos/0001-tindalos-gnrique/eQd/',
        'md5': 'cd08e51911f147f6da2d9678905b0bd9',
        'info_dict': {
            'id': '2685222',
            'ext': 'mp3',
            'duration': 86,
            'view_count': int,
            'timestamp': 1545471670,