def test_get_user_agent_Arm(self, mock_machine, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Linux'
     mock_machine.return_value = 'arm'
     self.assertIn(
         container=get_user_agent(),
         member='armv')
 def __init__(self):
     self.api_endpoint.headers.update({
         'User-Agent': utils.get_user_agent(),
         'Accept-Encoding': 'gzip, deflate',
     })
     self.license_endpoint.headers.update({
         'User-Agent':
         utils.get_user_agent(),
         'Accept-Encoding':
         'gzip, deflate',
         'Host':
         'license.timvision.it',
         'Origin':
         'https://www.timvision.it'
     })
     self.init_ok = self.setup()
    def play(self,
             content_id=None,
             url=None,
             license_key=None,
             license_headers="",
             start_offset=0.0,
             content_type='',
             duration=0,
             start_paused=False):
        PROTOCOL = 'mpd'
        DRM = 'com.widevine.alpha'
        user_agent = utils.get_user_agent()

        play_item = xbmcgui.ListItem(path=url)
        play_item.setContentLookup(False)
        play_item.setMimeType('application/dash+xml')
        play_item.setProperty('inputstreamaddon', "inputstream.adaptive")
        play_item.setProperty('inputstream.adaptive.stream_headers',
                              "%s&Connection=keep-alive" % (user_agent))
        play_item.setProperty('inputstream.adaptive.manifest_type', PROTOCOL)

        if license_key != None:
            is_helper = inputstreamhelper.Helper(PROTOCOL, drm=DRM)
            if not is_helper.check_inputstream():
                Dialogs.show_dialog(utils.get_local_string(30063))
                return
            play_item.setProperty('inputstream.adaptive.license_type', DRM)
            play_item.setProperty(
                'inputstream.adaptive.license_key',
                license_key + '|' + license_headers + '|R{SSM}|')

            start_offset = int(start_offset)
            duration = int(duration)
            if start_offset >= 10 and duration - start_offset > 30:
                if not utils.get_setting("always_resume"):
                    xbmc.executebuiltin("Dialog.Close(all,true)")
                    dialog_title = utils.get_local_string(30050)
                    message = utils.get_local_string(30051) % (
                        utils.get_timestring_from_seconds(start_offset))
                    start_offset = start_offset if Dialogs.ask(
                        message, dialog_title) else 0
            else:
                start_offset = 0

            utils.call_service(
                "set_playing_item", {
                    "url": url,
                    "contentId": content_id,
                    "time": start_offset,
                    "videoType": content_type,
                    "duration": duration,
                    "paused": start_paused
                })
            xbmcplugin.setResolvedUrl(handle=self.plugin_handle,
                                      succeeded=True,
                                      listitem=play_item)
        else:
            xbmc.Player().play(item=url, listitem=play_item)
 def play_video(self,
                content_id,
                video_type,
                has_hd=False,
                start_offset=0.0,
                duration=0,
                paused=False):
     if not self.verify_version(True):
         return
     license_info = utils.call_service("get_license_video", {
         "contentId": content_id,
         "videoType": video_type,
         "has_hd": has_hd
     })
     if license_info is None:
         dialog_msg = utils.get_local_string(30045)
         Dialogs.show_dialog(dialog_msg)
         return
     user_agent = utils.get_user_agent()
     headers = "%s&AVS_COOKIE=%s&Connection=keep-alive" % (
         user_agent, license_info["avs_cookie"])
     self.play(content_id, license_info["mpd_file"],
               license_info["widevine_url"], headers, start_offset,
               video_type, duration, paused)
 def test_get_user_agent_Windows(self, mock_machine, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Linux'
     mock_machine.return_value = 'arm'
     self.assertIn(container=get_user_agent(), member='armv')
 def test_get_user_agent_Windows(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Windows'
     self.assertIn(container=get_user_agent(), member='Win')
 def test_get_user_agent_Darwin(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Darwin'
     self.assertIn(container=get_user_agent(), member='Mac')
 def test_get_user_agent_Linux(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Linux'
     self.assertIn(container=get_user_agent(), member='Linux')
 def test_get_user_agent(self):
     """ADD ME"""
     self.assertIn(container=get_user_agent(),
                   member='Chrome/59.0.3071.115')
 def test_get_user_agent_Windows(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Windows'
     self.assertIn(
         container=get_user_agent(),
         member='Win')
 def test_get_user_agent_Darwin(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Darwin'
     self.assertIn(
         container=get_user_agent(),
         member='Mac')
 def test_get_user_agent_Linux(self, mock_system):
     """ADD ME"""
     mock_system.return_value = 'Linux'
     self.assertIn(
         container=get_user_agent(),
         member='Linux')
 def test_get_user_agent(self):
     """ADD ME"""
     self.assertIn(
         container=get_user_agent(),
         member='Chrome/59.0.3071.115')