aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/atresplayer.py12
-rw-r--r--youtube_dl/extractor/bambuser.py10
-rw-r--r--youtube_dl/extractor/ceskatelevize.py4
-rw-r--r--youtube_dl/extractor/crunchyroll.py2
-rw-r--r--youtube_dl/extractor/dcn.py3
-rw-r--r--youtube_dl/extractor/dramafever.py4
-rw-r--r--youtube_dl/extractor/fc2.py4
-rw-r--r--youtube_dl/extractor/gdcvault.py4
-rw-r--r--youtube_dl/extractor/hotnewhiphop.py4
-rw-r--r--youtube_dl/extractor/lynda.py10
-rw-r--r--youtube_dl/extractor/metacafe.py4
-rw-r--r--youtube_dl/extractor/minhateca.py4
-rw-r--r--youtube_dl/extractor/moevideo.py4
-rw-r--r--youtube_dl/extractor/moniker.py4
-rw-r--r--youtube_dl/extractor/mooshare.py4
-rw-r--r--youtube_dl/extractor/nfb.py8
-rw-r--r--youtube_dl/extractor/niconico.py3
-rw-r--r--youtube_dl/extractor/noco.py4
-rw-r--r--youtube_dl/extractor/played.py4
-rw-r--r--youtube_dl/extractor/pluralsight.py4
-rw-r--r--youtube_dl/extractor/primesharetv.py4
-rw-r--r--youtube_dl/extractor/promptfile.py4
-rw-r--r--youtube_dl/extractor/shared.py4
-rw-r--r--youtube_dl/extractor/sharesix.py4
-rw-r--r--youtube_dl/extractor/smotri.py6
-rw-r--r--youtube_dl/extractor/soundcloud.py1
-rw-r--r--youtube_dl/extractor/streamcloud.py8
-rw-r--r--youtube_dl/extractor/tubitv.py4
-rw-r--r--youtube_dl/extractor/twitch.py3
-rw-r--r--youtube_dl/extractor/udemy.py3
-rw-r--r--youtube_dl/extractor/vbox7.py8
-rw-r--r--youtube_dl/extractor/vk.py8
-rw-r--r--youtube_dl/extractor/vodlocker.py4
-rw-r--r--youtube_dl/extractor/xfileshare.py4
-rw-r--r--youtube_dl/extractor/yandexmusic.py10
-rw-r--r--youtube_dl/extractor/youtube.py5
36 files changed, 88 insertions, 92 deletions
diff --git a/youtube_dl/extractor/atresplayer.py b/youtube_dl/extractor/atresplayer.py
index f9568cb5b..d2f388964 100644
--- a/youtube_dl/extractor/atresplayer.py
+++ b/youtube_dl/extractor/atresplayer.py
@@ -6,16 +6,14 @@ import hashlib
import re
from .common import InfoExtractor
-from ..compat import (
- compat_str,
- compat_urllib_parse_urlencode,
-)
+from ..compat import compat_str
from ..utils import (
- int_or_none,
+ ExtractorError,
float_or_none,
+ int_or_none,
sanitized_Request,
+ urlencode_postdata,
xpath_text,
- ExtractorError,
)
@@ -86,7 +84,7 @@ class AtresPlayerIE(InfoExtractor):
}
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(login_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
diff --git a/youtube_dl/extractor/bambuser.py b/youtube_dl/extractor/bambuser.py
index 1a2eef48d..0eb1930c2 100644
--- a/youtube_dl/extractor/bambuser.py
+++ b/youtube_dl/extractor/bambuser.py
@@ -4,15 +4,13 @@ import re
import itertools
from .common import InfoExtractor
-from ..compat import (
- compat_urllib_parse_urlencode,
- compat_str,
-)
+from ..compat import compat_str
from ..utils import (
ExtractorError,
- int_or_none,
float_or_none,
+ int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -58,7 +56,7 @@ class BambuserIE(InfoExtractor):
}
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(login_form))
request.add_header('Referer', self._LOGIN_URL)
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
diff --git a/youtube_dl/extractor/ceskatelevize.py b/youtube_dl/extractor/ceskatelevize.py
index d93108df5..6652c8e42 100644
--- a/youtube_dl/extractor/ceskatelevize.py
+++ b/youtube_dl/extractor/ceskatelevize.py
@@ -6,13 +6,13 @@ import re
from .common import InfoExtractor
from ..compat import (
compat_urllib_parse_unquote,
- compat_urllib_parse_urlencode,
compat_urllib_parse_urlparse,
)
from ..utils import (
ExtractorError,
float_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -102,7 +102,7 @@ class CeskaTelevizeIE(InfoExtractor):
req = sanitized_Request(
'http://www.ceskatelevize.cz/ivysilani/ajax/get-client-playlist',
- data=compat_urllib_parse_urlencode(data))
+ data=urlencode_postdata(data))
req.add_header('Content-type', 'application/x-www-form-urlencoded')
req.add_header('x-addr', '127.0.0.1')
diff --git a/youtube_dl/extractor/crunchyroll.py b/youtube_dl/extractor/crunchyroll.py
index 7746f1be3..8ae3f2890 100644
--- a/youtube_dl/extractor/crunchyroll.py
+++ b/youtube_dl/extractor/crunchyroll.py
@@ -308,7 +308,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
playerdata_url = compat_urllib_parse_unquote(self._html_search_regex(r'"config_url":"([^"]+)', webpage, 'playerdata_url'))
playerdata_req = sanitized_Request(playerdata_url)
- playerdata_req.data = compat_urllib_parse_urlencode({'current_page': webpage_url})
+ playerdata_req.data = urlencode_postdata({'current_page': webpage_url})
playerdata_req.add_header('Content-Type', 'application/x-www-form-urlencoded')
playerdata = self._download_webpage(playerdata_req, video_id, note='Downloading media info')
diff --git a/youtube_dl/extractor/dcn.py b/youtube_dl/extractor/dcn.py
index 982ed94ea..5deff5f30 100644
--- a/youtube_dl/extractor/dcn.py
+++ b/youtube_dl/extractor/dcn.py
@@ -15,6 +15,7 @@ from ..utils import (
sanitized_Request,
smuggle_url,
unsmuggle_url,
+ urlencode_postdata,
)
@@ -174,7 +175,7 @@ class DCNSeasonIE(InfoExtractor):
data['show_id'] = show_id
request = sanitized_Request(
'http://admin.mangomolo.com/analytics/index.php/plus/show',
- compat_urllib_parse_urlencode(data),
+ urlencode_postdata(data),
{
'Origin': 'http://www.dcndigital.ae',
'Content-Type': 'application/x-www-form-urlencoded'
diff --git a/youtube_dl/extractor/dramafever.py b/youtube_dl/extractor/dramafever.py
index 2101acaaf..3b6529f4b 100644
--- a/youtube_dl/extractor/dramafever.py
+++ b/youtube_dl/extractor/dramafever.py
@@ -6,7 +6,6 @@ import itertools
from .amp import AMPIE
from ..compat import (
compat_HTTPError,
- compat_urllib_parse_urlencode,
compat_urlparse,
)
from ..utils import (
@@ -14,6 +13,7 @@ from ..utils import (
clean_html,
int_or_none,
sanitized_Request,
+ urlencode_postdata
)
@@ -50,7 +50,7 @@ class DramaFeverBaseIE(AMPIE):
}
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(login_form))
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
diff --git a/youtube_dl/extractor/fc2.py b/youtube_dl/extractor/fc2.py
index cacf61973..c7d69ff1f 100644
--- a/youtube_dl/extractor/fc2.py
+++ b/youtube_dl/extractor/fc2.py
@@ -5,13 +5,13 @@ import hashlib
from .common import InfoExtractor
from ..compat import (
- compat_urllib_parse_urlencode,
compat_urllib_request,
compat_urlparse,
)
from ..utils import (
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -56,7 +56,7 @@ class FC2IE(InfoExtractor):
'Submit': ' Login ',
}
- login_data = compat_urllib_parse_urlencode(login_form_strs).encode('utf-8')
+ login_data = urlencode_postdata(login_form_strs)
request = sanitized_Request(
'https://secure.id.fc2.com/index.php?mode=login&switch_language=en', login_data)
diff --git a/youtube_dl/extractor/gdcvault.py b/youtube_dl/extractor/gdcvault.py
index cc8fa45d2..59ed4c38f 100644
--- a/youtube_dl/extractor/gdcvault.py
+++ b/youtube_dl/extractor/gdcvault.py
@@ -3,11 +3,11 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
remove_end,
HEADRequest,
sanitized_Request,
+ urlencode_postdata,
)
@@ -123,7 +123,7 @@ class GDCVaultIE(InfoExtractor):
'password': password,
}
- request = sanitized_Request(login_url, compat_urllib_parse_urlencode(login_form))
+ request = sanitized_Request(login_url, urlencode_postdata(login_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
self._download_webpage(request, display_id, 'Logging in')
start_page = self._download_webpage(webpage_url, display_id, 'Getting authenticated video page')
diff --git a/youtube_dl/extractor/hotnewhiphop.py b/youtube_dl/extractor/hotnewhiphop.py
index 152d2a98a..9db565209 100644
--- a/youtube_dl/extractor/hotnewhiphop.py
+++ b/youtube_dl/extractor/hotnewhiphop.py
@@ -3,11 +3,11 @@ from __future__ import unicode_literals
import base64
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
HEADRequest,
sanitized_Request,
+ urlencode_postdata,
)
@@ -35,7 +35,7 @@ class HotNewHipHopIE(InfoExtractor):
r'"contentUrl" content="(.*?)"', webpage, 'content URL')
return self.url_result(video_url, ie='Youtube')
- reqdata = compat_urllib_parse_urlencode([
+ reqdata = urlencode_postdata([
('mediaType', 's'),
('mediaId', video_id),
])
diff --git a/youtube_dl/extractor/lynda.py b/youtube_dl/extractor/lynda.py
index df50cb655..71fd55ade 100644
--- a/youtube_dl/extractor/lynda.py
+++ b/youtube_dl/extractor/lynda.py
@@ -4,15 +4,13 @@ import re
import json
from .common import InfoExtractor
-from ..compat import (
- compat_str,
- compat_urllib_parse_urlencode,
-)
+from ..compat import compat_str
from ..utils import (
ExtractorError,
clean_html,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -36,7 +34,7 @@ class LyndaBaseIE(InfoExtractor):
'stayPut': 'false'
}
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(login_form))
login_page = self._download_webpage(
request, None, 'Logging in as %s' % username)
@@ -65,7 +63,7 @@ class LyndaBaseIE(InfoExtractor):
'stayPut': 'false',
}
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(confirm_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(confirm_form))
login_page = self._download_webpage(
request, None,
'Confirming log in and log out from another device')
diff --git a/youtube_dl/extractor/metacafe.py b/youtube_dl/extractor/metacafe.py
index 0e4865446..61dadb7a7 100644
--- a/youtube_dl/extractor/metacafe.py
+++ b/youtube_dl/extractor/metacafe.py
@@ -6,13 +6,13 @@ from .common import InfoExtractor
from ..compat import (
compat_parse_qs,
compat_urllib_parse_unquote,
- compat_urllib_parse_urlencode,
)
from ..utils import (
determine_ext,
ExtractorError,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -117,7 +117,7 @@ class MetacafeIE(InfoExtractor):
'filters': '0',
'submit': "Continue - I'm over 18",
}
- request = sanitized_Request(self._FILTER_POST, compat_urllib_parse_urlencode(disclaimer_form))
+ request = sanitized_Request(self._FILTER_POST, urlencode_postdata(disclaimer_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
self.report_age_confirmation()
self._download_webpage(request, None, False, 'Unable to confirm age')
diff --git a/youtube_dl/extractor/minhateca.py b/youtube_dl/extractor/minhateca.py
index 6ec53c303..e6730b75a 100644
--- a/youtube_dl/extractor/minhateca.py
+++ b/youtube_dl/extractor/minhateca.py
@@ -2,12 +2,12 @@
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
int_or_none,
parse_duration,
parse_filesize,
sanitized_Request,
+ urlencode_postdata,
)
@@ -39,7 +39,7 @@ class MinhatecaIE(InfoExtractor):
]
req = sanitized_Request(
'http://minhateca.com.br/action/License/Download',
- data=compat_urllib_parse_urlencode(token_data))
+ data=urlencode_postdata(token_data))
req.add_header('Content-Type', 'application/x-www-form-urlencoded')
data = self._download_json(
req, video_id, note='Downloading metadata')
diff --git a/youtube_dl/extractor/moevideo.py b/youtube_dl/extractor/moevideo.py
index 89cdd4600..978d5d5bf 100644
--- a/youtube_dl/extractor/moevideo.py
+++ b/youtube_dl/extractor/moevideo.py
@@ -5,11 +5,11 @@ import json
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -77,7 +77,7 @@ class MoeVideoIE(InfoExtractor):
],
]
r_json = json.dumps(r)
- post = compat_urllib_parse_urlencode({'r': r_json})
+ post = urlencode_postdata({'r': r_json})
req = sanitized_Request(self._API_URL, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
diff --git a/youtube_dl/extractor/moniker.py b/youtube_dl/extractor/moniker.py
index c5ce693f1..b208820fe 100644
--- a/youtube_dl/extractor/moniker.py
+++ b/youtube_dl/extractor/moniker.py
@@ -5,11 +5,11 @@ import os.path
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
remove_start,
sanitized_Request,
+ urlencode_postdata,
)
@@ -88,7 +88,7 @@ class MonikerIE(InfoExtractor):
fields = re.findall(r'type="hidden" name="(.+?)"\s* value="?(.+?)">', orig_webpage)
data = dict(fields)
- post = compat_urllib_parse_urlencode(data)
+ post = urlencode_postdata(data)
headers = {
b'Content-Type': b'application/x-www-form-urlencoded',
}
diff --git a/youtube_dl/extractor/mooshare.py b/youtube_dl/extractor/mooshare.py
index ee3947f43..a85109a89 100644
--- a/youtube_dl/extractor/mooshare.py
+++ b/youtube_dl/extractor/mooshare.py
@@ -3,10 +3,10 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -58,7 +58,7 @@ class MooshareIE(InfoExtractor):
}
request = sanitized_Request(
- 'http://mooshare.biz/%s' % video_id, compat_urllib_parse_urlencode(download_form))
+ 'http://mooshare.biz/%s' % video_id, urlencode_postdata(download_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
self._sleep(5, video_id)
diff --git a/youtube_dl/extractor/nfb.py b/youtube_dl/extractor/nfb.py
index ba1eefafc..51e4a34f7 100644
--- a/youtube_dl/extractor/nfb.py
+++ b/youtube_dl/extractor/nfb.py
@@ -1,8 +1,10 @@
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
-from ..utils import sanitized_Request
+from ..utils import (
+ sanitized_Request,
+ urlencode_postdata,
+)
class NFBIE(InfoExtractor):
@@ -40,7 +42,7 @@ class NFBIE(InfoExtractor):
request = sanitized_Request(
'https://www.nfb.ca/film/%s/player_config' % video_id,
- compat_urllib_parse_urlencode({'getConfig': 'true'}).encode('ascii'))
+ urlencode_postdata({'getConfig': 'true'}))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.add_header('X-NFB-Referer', 'http://www.nfb.ca/medias/flash/NFBVideoPlayer.swf')
diff --git a/youtube_dl/extractor/niconico.py b/youtube_dl/extractor/niconico.py
index 688f0a124..dd75a48af 100644
--- a/youtube_dl/extractor/niconico.py
+++ b/youtube_dl/extractor/niconico.py
@@ -18,6 +18,7 @@ from ..utils import (
sanitized_Request,
xpath_text,
determine_ext,
+ urlencode_postdata,
)
@@ -100,7 +101,7 @@ class NiconicoIE(InfoExtractor):
'mail': username,
'password': password,
}
- login_data = compat_urllib_parse_urlencode(login_form_strs).encode('utf-8')
+ login_data = urlencode_postdata(login_form_strs)
request = sanitized_Request(
'https://secure.nicovideo.jp/secure/login', login_data)
login_results = self._download_webpage(
diff --git a/youtube_dl/extractor/noco.py b/youtube_dl/extractor/noco.py
index 8f4b69a6f..06f2bda07 100644
--- a/youtube_dl/extractor/noco.py
+++ b/youtube_dl/extractor/noco.py
@@ -8,7 +8,6 @@ import hashlib
from .common import InfoExtractor
from ..compat import (
compat_str,
- compat_urllib_parse_urlencode,
compat_urlparse,
)
from ..utils import (
@@ -18,6 +17,7 @@ from ..utils import (
float_or_none,
parse_iso8601,
sanitized_Request,
+ urlencode_postdata,
)
@@ -75,7 +75,7 @@ class NocoIE(InfoExtractor):
'username': username,
'password': password,
}
- request = sanitized_Request(self._LOGIN_URL, compat_urllib_parse_urlencode(login_form))
+ request = sanitized_Request(self._LOGIN_URL, urlencode_postdata(login_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
login = self._download_json(request, None, 'Logging in as %s' % username)
diff --git a/youtube_dl/extractor/played.py b/youtube_dl/extractor/played.py
index 63065622b..57c875ef0 100644
--- a/youtube_dl/extractor/played.py
+++ b/youtube_dl/extractor/played.py
@@ -5,10 +5,10 @@ import re
import os.path
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -40,7 +40,7 @@ class PlayedIE(InfoExtractor):
self._sleep(2, video_id)
- post = compat_urllib_parse_urlencode(data)
+ post = urlencode_postdata(data)
headers = {
b'Content-Type': b'application/x-www-form-urlencoded',
}
diff --git a/youtube_dl/extractor/pluralsight.py b/youtube_dl/extractor/pluralsight.py
index 575775f09..bc66f7a9d 100644
--- a/youtube_dl/extractor/pluralsight.py
+++ b/youtube_dl/extractor/pluralsight.py
@@ -8,7 +8,6 @@ import collections
from .common import InfoExtractor
from ..compat import (
compat_str,
- compat_urllib_parse_urlencode,
compat_urlparse,
)
from ..utils import (
@@ -17,6 +16,7 @@ from ..utils import (
parse_duration,
qualities,
sanitized_Request,
+ urlencode_postdata,
)
@@ -76,7 +76,7 @@ class PluralsightIE(PluralsightBaseIE):
post_url = compat_urlparse.urljoin(self._LOGIN_URL, post_url)
request = sanitized_Request(
- post_url, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ post_url, urlencode_postdata(login_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = self._download_webpage(
diff --git a/youtube_dl/extractor/primesharetv.py b/youtube_dl/extractor/primesharetv.py
index 188f08826..0c1024772 100644
--- a/youtube_dl/extractor/primesharetv.py
+++ b/youtube_dl/extractor/primesharetv.py
@@ -1,10 +1,10 @@
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -42,7 +42,7 @@ class PrimeShareTVIE(InfoExtractor):
self._sleep(wait_time, video_id)
req = sanitized_Request(
- url, compat_urllib_parse_urlencode(fields), headers)
+ url, urlencode_postdata(fields), headers)
video_page = self._download_webpage(
req, video_id, 'Downloading video page')
diff --git a/youtube_dl/extractor/promptfile.py b/youtube_dl/extractor/promptfile.py
index 67312016c..f93bd19ff 100644
--- a/youtube_dl/extractor/promptfile.py
+++ b/youtube_dl/extractor/promptfile.py
@@ -4,11 +4,11 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
determine_ext,
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -34,7 +34,7 @@ class PromptFileIE(InfoExtractor):
expected=True)
fields = self._hidden_inputs(webpage)
- post = compat_urllib_parse_urlencode(fields)
+ post = urlencode_postdata(fields)
req = sanitized_Request(url, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
webpage = self._download_webpage(
diff --git a/youtube_dl/extractor/shared.py b/youtube_dl/extractor/shared.py
index e66441997..e7e5f653e 100644
--- a/youtube_dl/extractor/shared.py
+++ b/youtube_dl/extractor/shared.py
@@ -3,11 +3,11 @@ from __future__ import unicode_literals
import base64
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -45,7 +45,7 @@ class SharedIE(InfoExtractor):
download_form = self._hidden_inputs(webpage)
request = sanitized_Request(
- url, compat_urllib_parse_urlencode(download_form))
+ url, urlencode_postdata(download_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
video_page = self._download_webpage(
diff --git a/youtube_dl/extractor/sharesix.py b/youtube_dl/extractor/sharesix.py
index 61dc1c235..9cce5ceb4 100644
--- a/youtube_dl/extractor/sharesix.py
+++ b/youtube_dl/extractor/sharesix.py
@@ -4,10 +4,10 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
parse_duration,
sanitized_Request,
+ urlencode_postdata,
)
@@ -47,7 +47,7 @@ class ShareSixIE(InfoExtractor):
fields = {
'method_free': 'Free'
}
- post = compat_urllib_parse_urlencode(fields)
+ post = urlencode_postdata(fields)
req = sanitized_Request(url, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
diff --git a/youtube_dl/extractor/smotri.py b/youtube_dl/extractor/smotri.py
index b4c6d5bbf..5c3fd0fec 100644
--- a/youtube_dl/extractor/smotri.py
+++ b/youtube_dl/extractor/smotri.py
@@ -7,12 +7,12 @@ import hashlib
import uuid
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
int_or_none,
sanitized_Request,
unified_strdate,
+ urlencode_postdata,
)
@@ -175,7 +175,7 @@ class SmotriIE(InfoExtractor):
video_form['pass'] = hashlib.md5(video_password.encode('utf-8')).hexdigest()
request = sanitized_Request(
- 'http://smotri.com/video/view/url/bot/', compat_urllib_parse_urlencode(video_form))
+ 'http://smotri.com/video/view/url/bot/', urlencode_postdata(video_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
video = self._download_json(request, video_id, 'Downloading video JSON')
@@ -338,7 +338,7 @@ class SmotriBroadcastIE(InfoExtractor):
}
request = sanitized_Request(
- broadcast_url + '/?no_redirect=1', compat_urllib_parse_urlencode(login_form))
+ broadcast_url + '/?no_redirect=1', urlencode_postdata(login_form))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
broadcast_page = self._download_webpage(
request, broadcast_id, 'Logging in and confirming age')
diff --git a/youtube_dl/extractor/soundcloud.py b/youtube_dl/extractor/soundcloud.py
index 2bca8fa3a..194dabc71 100644
--- a/youtube_dl/extractor/soundcloud.py
+++ b/youtube_dl/extractor/soundcloud.py
@@ -500,7 +500,6 @@ class SoundcloudSearchIE(SearchInfoExtractor, SoundcloudIE):
query['linked_partitioning'] = '1'
query['offset'] = 0
data = compat_urllib_parse_urlencode(query)
- data = compat_urllib_parse_urlencode(query)
next_url = '{0}{1}?{2}'.format(self._API_V2_BASE, endpoint, data)
collected_results = 0
diff --git a/youtube_dl/extractor/streamcloud.py b/youtube_dl/extractor/streamcloud.py
index b17779e4b..712359885 100644
--- a/youtube_dl/extractor/streamcloud.py
+++ b/youtube_dl/extractor/streamcloud.py
@@ -4,8 +4,10 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
-from ..utils import sanitized_Request
+from ..utils import (
+ sanitized_Request,
+ urlencode_postdata,
+)
class StreamcloudIE(InfoExtractor):
@@ -35,7 +37,7 @@ class StreamcloudIE(InfoExtractor):
(?:id="[^"]+"\s+)?
value="([^"]*)"
''', orig_webpage)
- post = compat_urllib_parse_urlencode(fields)
+ post = urlencode_postdata(fields)
self._sleep(12, video_id)
headers = {
diff --git a/youtube_dl/extractor/tubitv.py b/youtube_dl/extractor/tubitv.py
index 50ed15163..306ee4e15 100644
--- a/youtube_dl/extractor/tubitv.py
+++ b/youtube_dl/extractor/tubitv.py
@@ -5,11 +5,11 @@ import codecs
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -41,7 +41,7 @@ class TubiTvIE(InfoExtractor):
'username': username,
'password': password,
}
- payload = compat_urllib_parse_urlencode(form_data).encode('utf-8')
+ payload = urlencode_postdata(form_data)
request = sanitized_Request(self._LOGIN_URL, payload)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
login_page = self._download_webpage(
diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py
index c92dcc7b9..36ee1adff 100644
--- a/youtube_dl/extractor/twitch.py
+++ b/youtube_dl/extractor/twitch.py
@@ -20,6 +20,7 @@ from ..utils import (
parse_duration,
parse_iso8601,
sanitized_Request,
+ urlencode_postdata,
)
@@ -81,7 +82,7 @@ class TwitchBaseIE(InfoExtractor):
post_url = compat_urlparse.urljoin(redirect_url, post_url)
request = sanitized_Request(
- post_url, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ post_url, urlencode_postdata(login_form))
request.add_header('Referer', redirect_url)
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py
index 6adfb2cee..be6f3be5e 100644
--- a/youtube_dl/extractor/udemy.py
+++ b/youtube_dl/extractor/udemy.py
@@ -13,6 +13,7 @@ from ..utils import (
int_or_none,
sanitized_Request,
unescapeHTML,
+ urlencode_postdata,
)
@@ -139,7 +140,7 @@ class UdemyIE(InfoExtractor):
})
request = sanitized_Request(
- self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ self._LOGIN_URL, urlencode_postdata(login_form))
request.add_header('Referer', self._ORIGIN_URL)
request.add_header('Origin', self._ORIGIN_URL)
diff --git a/youtube_dl/extractor/vbox7.py b/youtube_dl/extractor/vbox7.py
index 77bb200e9..dff1bb702 100644
--- a/youtube_dl/extractor/vbox7.py
+++ b/youtube_dl/extractor/vbox7.py
@@ -2,13 +2,11 @@
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import (
- compat_urllib_parse_urlencode,
- compat_urlparse,
-)
+from ..compat import compat_urlparse
from ..utils import (
ExtractorError,
sanitized_Request,
+ urlencode_postdata,
)
@@ -48,7 +46,7 @@ class Vbox7IE(InfoExtractor):
webpage, 'title').split('/')[0].strip()
info_url = 'http://vbox7.com/play/magare.do'
- data = compat_urllib_parse_urlencode({'as3': '1', 'vid': video_id})
+ data = urlencode_postdata({'as3': '1', 'vid': video_id})
info_request = sanitized_Request(info_url, data)
info_request.add_header('Content-Type', 'application/x-www-form-urlencoded')
info_response = self._download_webpage(info_request, video_id, 'Downloading info webpage')
diff --git a/youtube_dl/extractor/vk.py b/youtube_dl/extractor/vk.py
index 458099a4a..67220f1b7 100644
--- a/youtube_dl/extractor/vk.py
+++ b/youtube_dl/extractor/vk.py
@@ -5,10 +5,7 @@ import re
import json
from .common import InfoExtractor
-from ..compat import (
- compat_str,
- compat_urllib_parse_urlencode,
-)
+from ..compat import compat_str
from ..utils import (
ExtractorError,
int_or_none,
@@ -17,6 +14,7 @@ from ..utils import (
str_to_int,
unescapeHTML,
unified_strdate,
+ urlencode_postdata,
)
from .vimeo import VimeoIE
from .pladform import PladformIE
@@ -204,7 +202,7 @@ class VKIE(InfoExtractor):
request = sanitized_Request(
'https://login.vk.com/?act=login',
- compat_urllib_parse_urlencode(login_form).encode('utf-8'))
+ urlencode_postdata(login_form))
login_page = self._download_webpage(
request, None, note='Logging in as %s' % username)
diff --git a/youtube_dl/extractor/vodlocker.py b/youtube_dl/extractor/vodlocker.py
index f1abca4d9..a938a4007 100644
--- a/youtube_dl/extractor/vodlocker.py
+++ b/youtube_dl/extractor/vodlocker.py
@@ -2,11 +2,11 @@
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
NO_DEFAULT,
sanitized_Request,
+ urlencode_postdata,
)
@@ -38,7 +38,7 @@ class VodlockerIE(InfoExtractor):
if fields['op'] == 'download1':
self._sleep(3, video_id) # they do detect when requests happen too fast!
- post = compat_urllib_parse_urlencode(fields)
+ post = urlencode_postdata(fields)
req = sanitized_Request(url, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
webpage = self._download_webpage(
diff --git a/youtube_dl/extractor/xfileshare.py b/youtube_dl/extractor/xfileshare.py
index 4e35e1f44..2d1504eaa 100644
--- a/youtube_dl/extractor/xfileshare.py
+++ b/youtube_dl/extractor/xfileshare.py
@@ -4,11 +4,11 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlencode
from ..utils import (
ExtractorError,
int_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -108,7 +108,7 @@ class XFileShareIE(InfoExtractor):
if countdown:
self._sleep(countdown, video_id)
- post = compat_urllib_parse_urlencode(fields)
+ post = urlencode_postdata(fields)
req = sanitized_Request(url, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
diff --git a/youtube_dl/extractor/yandexmusic.py b/youtube_dl/extractor/yandexmusic.py
index 158f3ea68..025716958 100644
--- a/youtube_dl/extractor/yandexmusic.py
+++ b/youtube_dl/extractor/yandexmusic.py
@@ -5,15 +5,13 @@ import re
import hashlib
from .common import InfoExtractor
-from ..compat import (
- compat_str,
- compat_urllib_parse_urlencode,
-)
+from ..compat import compat_str
from ..utils import (
ExtractorError,
int_or_none,
float_or_none,
sanitized_Request,
+ urlencode_postdata,
)
@@ -170,14 +168,14 @@ class YandexMusicPlaylistIE(YandexMusicPlaylistBaseIE):
missing_track_ids = set(map(compat_str, track_ids)) - set(present_track_ids)
request = sanitized_Request(
'https://music.yandex.ru/handlers/track-entries.jsx',
- compat_urllib_parse_urlencode({
+ urlencode_postdata({
'entries': ','.join(missing_track_ids),
'lang': mu.get('settings', {}).get('lang', 'en'),
'external-domain': 'music.yandex.ru',
'overembed': 'false',
'sign': mu.get('authData', {}).get('user', {}).get('sign'),
'strict': 'true',
- }).encode('utf-8'))
+ }))
request.add_header('Referer', url)
request.add_header('X-Requested-With', 'XMLHttpRequest')
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 83b5840f7..8c321f1fc 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -44,6 +44,7 @@ from ..utils import (
unified_strdate,
unsmuggle_url,
uppercase_escape,
+ urlencode_postdata,
ISO3166Utils,
)
@@ -115,7 +116,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
'hl': 'en_US',
}
- login_data = compat_urllib_parse_urlencode(login_form_strs).encode('ascii')
+ login_data = urlencode_postdata(login_form_strs)
req = sanitized_Request(self._LOGIN_URL, login_data)
login_results = self._download_webpage(
@@ -148,7 +149,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
'TrustDevice': 'on',
})
- tfa_data = compat_urllib_parse_urlencode(tfa_form_strs).encode('ascii')
+ tfa_data = urlencode_postdata(tfa_form_strs)
tfa_req = sanitized_Request(self._TWOFACTOR_URL, tfa_data)
tfa_results = self._download_webpage(