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

Code before:
import urllib.parse

from .common import InfoExtractor
from ..networking import Request
from ..utils import (
    ExtractorError,
    js_to_json,
    traverse_obj,
    update_url_query,
    urlencode_postdata,
    urljoin,
)


class FC2IE(InfoExtractor):
    _VALID_URL = r'(?:https?://video\.fc2\.com/(?:[^/]+/)*content/|fc2:)(?P<id>[^/]+)'
    IE_NAME = 'fc2'
    _NETRC_MACHINE = 'fc2'
    _TESTS = [{
        'url': 'http://video.fc2.com/en/content/20121103kUan1KHs',
        'md5': 'a6ebe8ebe0396518689d963774a54eb7',
        'info_dict': {
            'id': '20121103kUan1KHs',
            'title': 'Boxing again with Puff',
            'ext': 'mp4',
            'thumbnail': 're:^https?://.+.jpg?(?:\\d+)?',
        },
        'file_minsize': 633,
        'params': {
            'skip_download': True,
        },
    }, {
        'url': 'https://video.fc2.com/content/20121129xMeT3Czt',
        'md5': '19109bbee429d5b3765986505d44a012',
        'info_dict': {
            'id': '20121129xMeT3Czt',
            'title': 'Rotfux',
            'ext': 'mp4',
            'thumbnail': 're:^https?://.+.jpg?(?:\\d+)?',
            'description': 'Rotfux',
        },
    }, {
        'url': 'http://video.fc2.com/en/content/20150125cEva0hDn/',
        'info_dict': {
            'id': '20150125cEva0hDn',
            'ext': 'mp4',
        },
        'params': {
            'username': 'ytdl@yt-dl.org',
            'password': '(snip)',
        },

Review comment (suggestion):
I don't understand the thumbnail regex. Wouldn't something like this suffice?
```suggestion
            'thumbnail': 're:https?://.+\.jpe?g',
```

Code after:
import urllib.parse

from .common import InfoExtractor
from ..networking import Request
from ..utils import (
    ExtractorError,
    js_to_json,
    traverse_obj,
    update_url_query,
    urlencode_postdata,
    urljoin,
)


class FC2IE(InfoExtractor):
    _VALID_URL = r'(?:https?://video\.fc2\.com/(?:[^/]+/)*content/|fc2:)(?P<id>[^/]+)'
    IE_NAME = 'fc2'
    _NETRC_MACHINE = 'fc2'
    _TESTS = [{
        'url': 'http://video.fc2.com/en/content/20121103kUan1KHs',
        'md5': 'a6ebe8ebe0396518689d963774a54eb7',
        'info_dict': {
            'id': '20121103kUan1KHs',
            'title': 'Boxing again with Puff',
            'ext': 'mp4',
            'thumbnail': r're:https?://.+\.jpe?g',
        },
        'params': {
            'skip_download': 'm3u8',
        },
    }, {
        # Direct video url
        'url': 'https://video.fc2.com/content/20121209FP73fxDx',
        'md5': '066bdb9b3a56a97f49cbf0d0b8a75a1f',
        'info_dict': {
            'id': '20121209FP73fxDx',
            'title': 'Farewelling The Wiggles Live in Sydney Dec 8 2012',
            'ext': 'mp4',
            'thumbnail': r're:https?://.+\.jpe?g',
            'description': 'Saying goodbye to the Wiggles at their Celebration Concert in Sydney, and what a concert that was!',
        },
    }, {
        'url': 'http://video.fc2.com/en/content/20150125cEva0hDn/',
        'info_dict': {
            'id': '20150125cEva0hDn',
            'ext': 'mp4',
        },
        'params': {
            'username': 'ytdl@yt-dl.org',
            'password': '(snip)',
        },