Пример #1
0
    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="/"))
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
 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())
Пример #8
0
 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())
Пример #9
0
 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)
Пример #10
0
 def test_check_cmd_cat(self, which, mock_cmd):
     s = StreamProcess(Streamlink())
     mock_cmd.return_value = "test"
     self.assertEqual("test", s._check_cmd())
Пример #11
0
 def test_check_cmd_none(self, mock_cmd):
     s = StreamProcess(Streamlink())
     mock_cmd.return_value = None
     self.assertRaises(StreamError, s._check_cmd)
Пример #12
0
def test_bake(parameters, arguments, expected):
    assert expected == StreamProcess.bake("test", parameters or {}, arguments or [])