sync
This commit is contained in:
38
src/compose/rendered/util.py
Normal file
38
src/compose/rendered/util.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from pathlib import Path
|
||||
from shutil import copyfile
|
||||
|
||||
from compose.rendered.entity import Rendered
|
||||
|
||||
|
||||
def _mk_dir(path: Path) -> None:
|
||||
if path.exists():
|
||||
return
|
||||
path.mkdir(parents=True)
|
||||
|
||||
|
||||
def _mk_compose_dir(rendered: Rendered) -> None:
|
||||
_mk_dir(rendered.dest_paths.data_dir)
|
||||
vols = rendered.volumes
|
||||
if vols is None:
|
||||
return
|
||||
for vol in vols:
|
||||
_mk_dir(vol)
|
||||
|
||||
|
||||
def _mk_compose_env(rendered: Rendered) -> None:
|
||||
src = rendered.src_paths.env_file
|
||||
dest = rendered.dest_paths.env_file
|
||||
if src.exists() and not dest.exists():
|
||||
_ = copyfile(src, dest)
|
||||
|
||||
|
||||
def write_raw(path: Path, data: str) -> None:
|
||||
with path.open("wt") as f:
|
||||
_ = f.write(data)
|
||||
|
||||
|
||||
def write(rendered: Rendered) -> None:
|
||||
funcs = (_mk_compose_dir, _mk_compose_env)
|
||||
for func in funcs:
|
||||
func(rendered)
|
||||
write_raw(rendered.dest_paths.compose_file, rendered.data)
|
||||
Reference in New Issue
Block a user