Merge pull request #7320 from remitamine/adobetv
[youtube-dl] / youtube_dl / extractor / moevideo.py
index d2a73fdabfd52c727b8fa79067f68cae3117d796..d930b96343bd081f029ad1bb7ce1ceee3c241f59 100644 (file)
@@ -5,19 +5,19 @@ import json
 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'
@@ -34,7 +34,7 @@ class MoeVideoIE(InfoExtractor):
                 'width': 540,
                 'height': 360,
                 'duration': 179,
-                'filesize_approx': 17822500,
+                'filesize': 17822500,
             }
         },
         {
@@ -49,8 +49,9 @@ class MoeVideoIE(InfoExtractor):
                 'width': 480,
                 'height': 296,
                 'duration': 6027,
-                'filesize_approx': 588257923,
-            }
+                'filesize': 588257923,
+            },
+            'skip': 'Video has been removed',
         },
     ]
 
@@ -77,7 +78,7 @@ class MoeVideoIE(InfoExtractor):
         ]
         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)
@@ -99,7 +100,7 @@ class MoeVideoIE(InfoExtractor):
             'url': video_url,
             'width': width,
             'height': height,
-            'filesize_approx': filesize,
+            'filesize': filesize,
         }]
 
         return {