mirror of
ssh://git.janware.com/janware/proj/jw-pkg
synced 2026-04-24 09:13:37 +02:00
lib.FileContext.mkdir(): Add method
Add .mkdir() to the API which should do the expected, and implement it in ExecContext and Local specializations. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
7547d13a6d
commit
432830a5c5
3 changed files with 13 additions and 0 deletions
|
|
@ -504,6 +504,10 @@ class ExecContext(Base):
|
||||||
cmd = ['mv', src, dst]
|
cmd = ['mv', src, dst]
|
||||||
await self.run(cmd, cmd_input=InputMode.NonInteractive)
|
await self.run(cmd, cmd_input=InputMode.NonInteractive)
|
||||||
|
|
||||||
|
async def _mkdir(self, name: str, mode: int) -> None:
|
||||||
|
cmd = ['mkdir', name, '-m', self.__mode_str(mode)]
|
||||||
|
await self.run(cmd, cmd_input=InputMode.NonInteractive)
|
||||||
|
|
||||||
async def _mktemp(self, tmpl: str, directory: bool) -> str:
|
async def _mktemp(self, tmpl: str, directory: bool) -> str:
|
||||||
cmd = ['mktemp']
|
cmd = ['mktemp']
|
||||||
if directory:
|
if directory:
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,12 @@ class FileContext(abc.ABC):
|
||||||
async def rename(self, src: str, dst: str) -> None:
|
async def rename(self, src: str, dst: str) -> None:
|
||||||
return await self._rename(src, dst)
|
return await self._rename(src, dst)
|
||||||
|
|
||||||
|
async def _mkdir(self, path: str, mode: int) -> None:
|
||||||
|
raise NotImplementedError(f'{self.log_path}: mkdir({path}) is not implemented')
|
||||||
|
|
||||||
|
async def mkdir(self, path: str, mode: int=0o777) -> None:
|
||||||
|
return await self._mkdir(path, mode)
|
||||||
|
|
||||||
async def _mktemp(self, tmpl: str, directory: bool) -> None:
|
async def _mktemp(self, tmpl: str, directory: bool) -> None:
|
||||||
raise NotImplementedError(f'{self.log_name}: mktemp("{path}") is not implemented')
|
raise NotImplementedError(f'{self.log_name}: mktemp("{path}") is not implemented')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,9 @@ class Local(Base):
|
||||||
async def _rename(self, src: str, dst: str) -> None:
|
async def _rename(self, src: str, dst: str) -> None:
|
||||||
os.rename(src, dst)
|
os.rename(src, dst)
|
||||||
|
|
||||||
|
async def _mkdir(self, name: str, mode: int) -> None:
|
||||||
|
os.mkdir(name, mode)
|
||||||
|
|
||||||
async def _stat(self, path: str, follow_symlinks: bool) -> StatResult:
|
async def _stat(self, path: str, follow_symlinks: bool) -> StatResult:
|
||||||
return StatResult.from_os(os.stat(path, follow_symlinks=follow_symlinks))
|
return StatResult.from_os(os.stat(path, follow_symlinks=follow_symlinks))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue