51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
import json
|
|
|
|
from requests import Request
|
|
|
|
from vinetrimmer.utils.BamSDK.services import Service
|
|
|
|
|
|
# noinspection PyPep8Naming
|
|
class drm(Service):
|
|
def widevineCertificate(self):
|
|
endpoint = self.client.endpoints["widevineCertificate"]
|
|
req = Request(
|
|
method=endpoint.method,
|
|
url=endpoint.href,
|
|
headers=endpoint.headers
|
|
).prepare()
|
|
res = self.session.send(req)
|
|
return res.content
|
|
|
|
def widevineLicense(self, licence, access_token):
|
|
endpoint = self.client.endpoints["widevineLicense"]
|
|
req = Request(
|
|
method=endpoint.method,
|
|
url=endpoint.href,
|
|
headers=endpoint.get_headers(accessToken=access_token),
|
|
data=licence
|
|
).prepare()
|
|
res = self.session.send(req)
|
|
try:
|
|
# if it's json content, then an error occurred
|
|
res = json.loads(res.text)
|
|
raise Exception(f"Failed to obtain license: {res}")
|
|
except json.JSONDecodeError:
|
|
return res.content
|
|
|
|
def playreadyLicense(self, licence, access_token):
|
|
endpoint = self.client.endpoints["playReadyLicense"]
|
|
req = Request(
|
|
method=endpoint.method,
|
|
url=endpoint.href,
|
|
headers=endpoint.get_headers(accessToken=access_token),
|
|
data=licence
|
|
).prepare()
|
|
res = self.session.send(req)
|
|
try:
|
|
# if it's json content, then an error occurred
|
|
res = json.loads(res.text)
|
|
raise Exception(f"Failed to obtain license: {res}")
|
|
except json.JSONDecodeError:
|
|
return res.content
|