Create a new temporary directory managed by the factory. :param basename: Directory base name, must be a relative path. :param numbered: If ``True``, ensure the directory is unique by adding a numbered suffix greater than any existing one: ``base
(self, basename: str, numbered: bool = True)
| 76 | return basename |
| 77 | |
| 78 | def mktemp(self, basename: str, numbered: bool = True) -> Path: |
| 79 | """Create a new temporary directory managed by the factory. |
| 80 | |
| 81 | :param basename: |
| 82 | Directory base name, must be a relative path. |
| 83 | |
| 84 | :param numbered: |
| 85 | If ``True``, ensure the directory is unique by adding a numbered |
| 86 | suffix greater than any existing one: ``basename="foo-"`` and ``numbered=True`` |
| 87 | means that this function will create directories named ``"foo-0"``, |
| 88 | ``"foo-1"``, ``"foo-2"`` and so on. |
| 89 | |
| 90 | :returns: |
| 91 | The path to the new directory. |
| 92 | """ |
| 93 | basename = self._ensure_relative_to_basetemp(basename) |
| 94 | if not numbered: |
| 95 | p = self.getbasetemp().joinpath(basename) |
| 96 | p.mkdir(mode=0o700) |
| 97 | else: |
| 98 | p = make_numbered_dir(root=self.getbasetemp(), prefix=basename, mode=0o700) |
| 99 | self._trace("mktemp", p) |
| 100 | return p |
| 101 | |
| 102 | def getbasetemp(self) -> Path: |
| 103 | """Return the base temporary directory, creating it if needed.""" |