当前位置: 首页>>代码示例>>Python>>正文


Python Filter.subprocess方法代码示例

本文整理汇总了Python中webassets.filter.Filter.subprocess方法的典型用法代码示例。如果您正苦于以下问题:Python Filter.subprocess方法的具体用法?Python Filter.subprocess怎么用?Python Filter.subprocess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webassets.filter.Filter的用法示例。


在下文中一共展示了Filter.subprocess方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_subprocess

# 需要导入模块: from webassets.filter import Filter [as 别名]
# 或者: from webassets.filter.Filter import subprocess [as 别名]
    def test_subprocess(self):
        """Instead of the ``argv`` shortcut, subclasses can also use the
        ``subprocess`` helper manually.
        """

        class Filter(ExternalTool): pass

        # Without stdin data
        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = ['stdout', 'stderr']
        out = StringIO()
        Filter.subprocess(['test'], out)
        assert out.getvalue() == 'stdout'
        self.popen.return_value.communicate.assert_called_with(None)

        # With stdin data
        self.popen.reset_mock()
        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = ['stdout', 'stderr']
        out = StringIO()
        Filter.subprocess(['test'], out, data='data')
        assert out.getvalue() == 'stdout'
        self.popen.return_value.communicate.assert_called_with('data')

        # With error
        self.popen.return_value.returncode = 1
        self.popen.return_value.communicate.return_value = ['stdout', 'stderr']
        assert_raises(FilterError, Filter.subprocess, ['test'], StringIO())
开发者ID:cnu,项目名称:webassets,代码行数:30,代码来源:test_filters.py

示例2: test_output_moved

# 需要导入模块: from webassets.filter import Filter [as 别名]
# 或者: from webassets.filter.Filter import subprocess [as 别名]
    def test_output_moved(self):
        class Filter(ExternalTool):
            pass

        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = ["stdout", "stderr"]

        # {output} creates an output
        # this test *moves* the file into the target location, and
        # tests the fix to issue #286
        intercepted = {}

        def fake_output_file(argv, **kw):
            intercepted["filename"] = argv[0]
            with open(argv[0] + ".tmp", "w") as f:
                f.write("bat")
            import shutil

            shutil.move(argv[0] + ".tmp", argv[0])
            return DEFAULT

        self.popen.side_effect = fake_output_file
        # We get the result we generated in the hook above
        out = StringIO()
        Filter.subprocess(["{output}"], out)
        assert out.getvalue() == "bat"
        # File has been deleted
        assert not os.path.exists(intercepted["filename"])
开发者ID:rawberg,项目名称:webassets,代码行数:30,代码来源:test_filters.py

示例3: test_input_var

# 需要导入模块: from webassets.filter import Filter [as 别名]
# 或者: from webassets.filter.Filter import subprocess [as 别名]
    def test_input_var(self):
        """Test {input} variable."""

        class Filter(ExternalTool):
            pass

        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = [b"stdout", b"stderr"]

        # {input} creates an input file
        intercepted = {}

        def check_input_file(argv, **kw):
            intercepted["filename"] = argv[0]
            with open(argv[0], "r") as f:
                # File has been generated with input data
                assert f.read() == "foo"
            return DEFAULT

        self.popen.side_effect = check_input_file
        Filter.subprocess(["{input}"], StringIO(), data="foo")
        # No stdin was passed
        self.popen.return_value.communicate.assert_called_with(None)
        # File has been deleted
        assert not os.path.exists(intercepted["filename"])

        # {input} requires input data
        assert_raises(ValueError, Filter.subprocess, ["{input}"], StringIO())
开发者ID:rawberg,项目名称:webassets,代码行数:30,代码来源:test_filters.py

示例4: test_output_var

# 需要导入模块: from webassets.filter import Filter [as 别名]
# 或者: from webassets.filter.Filter import subprocess [as 别名]
    def test_output_var(self):
        class Filter(ExternalTool): pass
        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = ['stdout', 'stderr']

        # {input} creates an input file
        intercepted = {}
        def fake_output_file(argv,  **kw):
            intercepted['filename'] = argv[0]
            with open(argv[0], 'w') as f:
                f.write('bat')
            return DEFAULT
        self.popen.side_effect = fake_output_file
        # We get the result we generated in the hook above
        out = StringIO()
        Filter.subprocess(['{output}'], out)
        assert out.getvalue() == 'bat'
        # File has been deleted
        assert not os.path.exists(intercepted['filename'])
开发者ID:cnu,项目名称:webassets,代码行数:21,代码来源:test_filters.py

示例5: test_output_var

# 需要导入模块: from webassets.filter import Filter [as 别名]
# 或者: from webassets.filter.Filter import subprocess [as 别名]
    def test_output_var(self):
        class Filter(ExternalTool):
            pass

        self.popen.return_value.returncode = 0
        self.popen.return_value.communicate.return_value = ["stdout", "stderr"]

        # {output} creates an output file
        intercepted = {}

        def fake_output_file(argv, **kw):
            intercepted["filename"] = argv[0]
            with open(argv[0], "w") as f:
                f.write("bat")
            return DEFAULT

        self.popen.side_effect = fake_output_file
        # We get the result we generated in the hook above
        out = StringIO()
        Filter.subprocess(["{output}"], out)
        assert out.getvalue() == "bat"
        # File has been deleted
        assert not os.path.exists(intercepted["filename"])
开发者ID:rawberg,项目名称:webassets,代码行数:25,代码来源:test_filters.py


注:本文中的webassets.filter.Filter.subprocess方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。