import re
from .common import InfoExtractor
+from ..compat import compat_urllib_parse
from ..utils import (
ExtractorError,
- compat_urllib_parse,
- compat_urllib_request,
int_or_none,
+ sanitized_Request,
)
class MoeVideoIE(InfoExtractor):
- IE_DESC = 'moevideo.net and playreplay.net'
+ IE_DESC = 'LetitBit video services: moevideo.net, playreplay.net and videochart.net'
_VALID_URL = r'''(?x)
https?://(?P<host>(?:www\.)?
- (?:moevideo\.net|playreplay\.net))/
+ (?:(?:moevideo|playreplay|videochart)\.net))/
(?:video|framevideo)/(?P<id>[0-9]+\.[0-9A-Za-z]+)'''
_API_URL = 'http://api.letitbit.net/'
_API_KEY = 'tVL0gjqo5'
'width': 540,
'height': 360,
'duration': 179,
- 'filesize_approx': 17822500,
+ 'filesize': 17822500,
}
},
{
'width': 480,
'height': 296,
'duration': 6027,
- 'filesize_approx': 588257923,
- }
+ 'filesize': 588257923,
+ },
+ 'skip': 'Video has been removed',
},
]
]
r_json = json.dumps(r)
post = compat_urllib_parse.urlencode({'r': r_json})
- req = compat_urllib_request.Request(self._API_URL, post)
+ req = sanitized_Request(self._API_URL, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
response = self._download_json(req, video_id)
'url': video_url,
'width': width,
'height': height,
- 'filesize_approx': filesize,
+ 'filesize': filesize,
}]
return {