def execute()

in bowler/query.py [0:0]


    def execute(self, **kwargs) -> "Query":
        fixers = self.compile()
        if self.processors:

            def processor(filename: Filename, hunk: Hunk) -> bool:
                apply = True
                for p in self.processors:
                    if p(filename, hunk) is False:
                        apply = False
                return apply

            kwargs["hunk_processor"] = processor

        kwargs.setdefault("filename_matcher", self.filename_matcher)
        if self.python_version == 3:
            kwargs.setdefault("options", {})["print_function"] = True
        tool = BowlerTool(fixers, **kwargs)
        self.retcode = tool.run(self.paths)
        self.exceptions = tool.exceptions
        return self