def test_bake_different_prefix(self): self.assertEqual(["test", "/H", "/foo", "bar", "/help"], StreamProcess.bake("test", dict(help=True, H=True, foo="bar"), long_option_prefix="/", short_option_prefix="/")) self.assertEqual(["test", "/?"], StreamProcess.bake("test", {"?": True}, long_option_prefix="/", short_option_prefix="/"))
def __init__(self, session, params, redirect=False, **kwargs): StreamProcess.__init__(self, session, params=params, **kwargs) self.timeout = self.session.options.get("rtmp-timeout") self.redirect = redirect # set rtmpdump logging level if self.session.options.get("subprocess-errorlog-path") or \ self.session.options.get("subprocess-errorlog"): # disable any current logging level for p in self.logging_parameters: self.parameters.pop(p, None) if logger.root.level == logging.DEBUG: self.parameters["debug"] = True else: self.parameters["verbose"] = True
def __init__(self, session, params, redirect=False, **kwargs): StreamProcess.__init__(self, session, params=params, **kwargs) self.cmd = self.session.options.get("rtmp-rtmpdump") self.timeout = self.session.options.get("rtmp-timeout") self.redirect = redirect # set rtmpdump logging level if self.session.options.get("subprocess-errorlog-path") or \ self.session.options.get("subprocess-errorlog"): # disable any current logging level for p in self.logging_parameters: self.parameters.pop(p, None) if logger.root.level == logging.DEBUG: self.parameters["debug"] = True else: self.parameters["verbose"] = True
def __init__(self, session, params, redirect=False, **kwargs): StreamProcess.__init__(self, session, params=params, **kwargs) self.cmd = self.session.options.get("rtmp-rtmpdump") self.timeout = self.session.options.get("rtmp-timeout") self.redirect = redirect self.logger = session.logger.new_module("stream.rtmp") # set rtmpdump logging level if self.session.options.get("subprocess-errorlog-path") or \ self.session.options.get("subprocess-errorlog"): # disable any current logging level for p in self.logging_parameters: self.parameters.pop(p, None) if self.session.logger.Levels[ self.session.logger.level] == "debug": self.parameters["debug"] = True else: self.parameters["verbose"] = True
def open(self): if self.session.options.get("rtmp-proxy"): if not self._supports_param("socks"): raise StreamError("Installed rtmpdump does not support --socks argument") self.parameters["socks"] = self.session.options.get("rtmp-proxy") if "jtv" in self.parameters and not self._supports_param("jtv"): raise StreamError("Installed rtmpdump does not support --jtv argument") if "weeb" in self.parameters and not self._supports_param("weeb"): raise StreamError("Installed rtmpdump does not support --weeb argument") if self.redirect: self._check_redirect() self.parameters["flv"] = "-" return StreamProcess.open(self)
def test_check_cmdline_long(self, which, mock_cmd): s = StreamProcess(Streamlink(), params=dict(out_file="test file.txt")) mock_cmd.return_value = "test" which.return_value = "test" self.assertEqual("test --out-file \"test file.txt\"", s.cmdline())
def test_check_cmdline(self, which, mock_cmd): s = StreamProcess(Streamlink(), params=dict(help=True)) mock_cmd.return_value = "test" which.return_value = "test" self.assertEqual("test --help", s.cmdline())
def test_check_cmd_nofound(self, which, mock_cmd): s = StreamProcess(Streamlink()) mock_cmd.return_value = "test" which.return_value = None self.assertRaises(StreamError, s._check_cmd)
def test_check_cmd_cat(self, which, mock_cmd): s = StreamProcess(Streamlink()) mock_cmd.return_value = "test" self.assertEqual("test", s._check_cmd())
def test_check_cmd_none(self, mock_cmd): s = StreamProcess(Streamlink()) mock_cmd.return_value = None self.assertRaises(StreamError, s._check_cmd)
def test_bake(parameters, arguments, expected): assert expected == StreamProcess.bake("test", parameters or {}, arguments or [])