import requests
from api_auth import APICredentials, APIParams
 
class DRMPolicies:
    def __init__(self):
        self.host = "https://services.uplynk.com"

    def run(self):
        """
        Create a DRM policy.
        """
        self._create_or_update_drm_policy()
 
    def _create_or_update_drm_policy(self):
 
        policy_data = dict()
        url = "{}{}".format(self.host, "/api/v3/drm/policies/create-or-update")
 
        new_policy_data = {
            'policy_name': 'My First Policy',
            'widevine': {
                'content_key_specs': [
                    {
                        'track_type': 'ALL',
                        'security_level': 1,
                        'required_output_protection': {
                            'hdcp': 'HDCP_NONE'
                        }
                    }
                ],
                'policy_overrides': {
                    'can_persist': True,
                    'can_play': True,
                    'can_renew': True
                }
            },
            'fairplay': {
                "hd": {
                    'allow_airplay': False,
                    'allow_av_adapter': False
                }
            },
            'playready': {
                "hd": {
                    'require_hdcp_type_1': True,
                    'digital_video_protection_level': 250
                },
                "uhd1": {
                    'require_hdcp_type_1': True,
                    'digital_video_protection_level': 250
                },
                "uhd2": {
                    'require_hdcp_type_1': True,
                    'digital_video_protection_level': 250
                }
            }
        }

        policy_data['item'] = new_policy_data
 
        response = requests.post(
            url, data=APIParams(APICredentials()).get_params(policy_data)
        )
 
        print(response.json())
 
DRMPolicies().run()