|
|
|
@ -28,14 +28,19 @@ class LBRYBaseIE(InfoExtractor):
|
|
|
|
|
_SUPPORTED_STREAM_TYPES = ['video', 'audio']
|
|
|
|
|
|
|
|
|
|
def _call_api_proxy(self, method, display_id, params, resource):
|
|
|
|
|
return self._download_json(
|
|
|
|
|
response = self._download_json(
|
|
|
|
|
'https://api.lbry.tv/api/v1/proxy',
|
|
|
|
|
display_id, 'Downloading %s JSON metadata' % resource,
|
|
|
|
|
headers={'Content-Type': 'application/json-rpc'},
|
|
|
|
|
data=json.dumps({
|
|
|
|
|
'method': method,
|
|
|
|
|
'params': params,
|
|
|
|
|
}).encode())['result']
|
|
|
|
|
}).encode())
|
|
|
|
|
err = response.get('error')
|
|
|
|
|
if err:
|
|
|
|
|
raise ExtractorError(
|
|
|
|
|
f'{self.IE_NAME} said: {err.get("code")} - {err.get("message")}', expected=True)
|
|
|
|
|
return response['result']
|
|
|
|
|
|
|
|
|
|
def _resolve_url(self, url, display_id, resource):
|
|
|
|
|
return self._call_api_proxy(
|
|
|
|
|