1
0
Fork 0
mirror of https://github.com/yavook/kiwi-scp.git synced 2024-11-21 20:33:00 +00:00

stray pyyaml import

This commit is contained in:
Jörn-Michael Miehe 2021-10-26 12:28:06 +02:00
parent 3c81021f14
commit 7dc6e6789f

View file

@ -5,7 +5,7 @@ from typing import List, Dict, Any, Generator
import attr import attr
import click import click
import yaml import ruamel.yaml
from ._constants import COMPOSE_FILE_NAME from ._constants import COMPOSE_FILE_NAME
from .config import Config from .config import Config
@ -47,7 +47,7 @@ class Project:
@functools.lru_cache(maxsize=10) @functools.lru_cache(maxsize=10)
def from_directory(cls, directory: Path): def from_directory(cls, directory: Path):
with open(directory.joinpath(COMPOSE_FILE_NAME), "r") as cf: with open(directory.joinpath(COMPOSE_FILE_NAME), "r") as cf:
yml = yaml.safe_load(cf) yml = ruamel.yaml.round_trip_load(cf)
return cls( return cls(
directory=directory, directory=directory,
@ -66,12 +66,15 @@ class Instance:
def config(self) -> Config: def config(self) -> Config:
"""shorthand: get the current configuration""" """shorthand: get the current configuration"""
return Config.from_instance(self.directory) return Config.from_directory(self.directory)
def get_project(self, name: str) -> Project:
return Project.from_directory(self.directory.joinpath(name))
@property @property
def projects(self) -> Generator[Project, None, None]: def projects(self) -> Generator[Project, None, None]:
return ( return (
Project.from_directory(self.directory.joinpath(project.name)) self.get_project(project.name)
for project in self.config.projects for project in self.config.projects
) )