def _get_streams(self): if not self.login(self.get_option("email"), self.get_option("password")): raise PluginError("Login failed") try: start_point = int( float( dict(parse_qsl(urlparse(self.url).query)).get( "startPoint", 0.0))) if start_point > 0: log.info("Stream will start at {0}".format( seconds_to_hhmmss(start_point))) except ValueError: start_point = 0 content_id = self._get_video_id() if content_id: log.debug("Found content ID: {0}".format(content_id)) info = self._get_media_info(content_id) if info.get("hlsUrl"): for s in HLSStream.parse_variant_playlist( self.session, info["hlsUrl"], start_offset=start_point).items(): yield s else: log.error("Could not find the HLS URL")
def test_seconds_to_hhmmss(self): self.assertEqual(seconds_to_hhmmss(0), "00:00:00") self.assertEqual(seconds_to_hhmmss(1), "00:00:01") self.assertEqual(seconds_to_hhmmss(60), "00:01:00") self.assertEqual(seconds_to_hhmmss(3600), "01:00:00") self.assertEqual(seconds_to_hhmmss(13997), "03:53:17") self.assertEqual(seconds_to_hhmmss(13997.4), "03:53:17.4")