|
|
@ -1,3 +1,5 @@
|
|
|
|
|
|
|
|
import json
|
|
|
|
|
|
|
|
|
|
|
|
from .theplatform import ThePlatformIE
|
|
|
|
from .theplatform import ThePlatformIE
|
|
|
|
from ..utils import (
|
|
|
|
from ..utils import (
|
|
|
|
ExtractorError,
|
|
|
|
ExtractorError,
|
|
|
@ -6,7 +8,6 @@ from ..utils import (
|
|
|
|
remove_start,
|
|
|
|
remove_start,
|
|
|
|
traverse_obj,
|
|
|
|
traverse_obj,
|
|
|
|
update_url_query,
|
|
|
|
update_url_query,
|
|
|
|
urlencode_postdata,
|
|
|
|
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -204,18 +205,19 @@ class AENetworksIE(AENetworksBaseIE):
|
|
|
|
class AENetworksListBaseIE(AENetworksBaseIE):
|
|
|
|
class AENetworksListBaseIE(AENetworksBaseIE):
|
|
|
|
def _call_api(self, resource, slug, brand, fields):
|
|
|
|
def _call_api(self, resource, slug, brand, fields):
|
|
|
|
return self._download_json(
|
|
|
|
return self._download_json(
|
|
|
|
'https://yoga.appsvcs.aetnd.com/graphql',
|
|
|
|
'https://yoga.appsvcs.aetnd.com/graphql', slug,
|
|
|
|
slug, query={'brand': brand}, data=urlencode_postdata({
|
|
|
|
query={'brand': brand}, headers={'Content-Type': 'application/json'},
|
|
|
|
|
|
|
|
data=json.dumps({
|
|
|
|
'query': '''{
|
|
|
|
'query': '''{
|
|
|
|
%s(slug: "%s") {
|
|
|
|
%s(slug: "%s") {
|
|
|
|
%s
|
|
|
|
%s
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}''' % (resource, slug, fields), # noqa: UP031
|
|
|
|
}''' % (resource, slug, fields), # noqa: UP031
|
|
|
|
}))['data'][resource]
|
|
|
|
}).encode())['data'][resource]
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|
domain, slug = self._match_valid_url(url).groups()
|
|
|
|
domain, slug = self._match_valid_url(url).groups()
|
|
|
|
_, brand = self._DOMAIN_MAP[domain]
|
|
|
|
_, brand, _ = self._DOMAIN_MAP[domain]
|
|
|
|
playlist = self._call_api(self._RESOURCE, slug, brand, self._FIELDS)
|
|
|
|
playlist = self._call_api(self._RESOURCE, slug, brand, self._FIELDS)
|
|
|
|
base_url = f'http://watch.{domain}'
|
|
|
|
base_url = f'http://watch.{domain}'
|
|
|
|
|
|
|
|
|
|
|
|