示例#1
0
 def parse_args(self, args: typing.List[str]) -> argparse.Namespace:  # type: ignore
     """Override parse_args to sort and flatten paths list in addition."""
     parsed_args = super().parse_args(args)
     with contextlib.suppress(AttributeError):
         parsed_args.paths = [
             os.path.realpath(path) for path in sorted(flatten(parsed_args.paths))
         ]
     return parsed_args
示例#2
0
 def __call__(self, command: str, *args: str, pipe=False) -> None:
     """Run external command with arguments."""
     if self.state() == QProcess.Running:
         log.warning("Closing running process '%s'", self.program())
         self.close()
     self._pipe = pipe
     arglist: List[str] = flatten(
         glob.glob(arg) if contains_any(arg, "*?[]") else (arg,) for arg in args
     )
     _logger.debug("Running external command '%s' with '%r'", command, arglist)
     self.start(command, arglist)
示例#3
0
def test_flatten():
    list_of_lists = [[1, 2], [3, 4]]
    assert utils.flatten(list_of_lists) == [1, 2, 3, 4]
示例#4
0
 def __init__(self):
     self.groups = (BriConGroup(), HSLGroup())
     super().__init__(
         utils.flatten([group.manipulations for group in self.groups]))