feat: implment Parser parse service volumes
This commit is contained in:
parent
2b22de5193
commit
114f778727
1 changed files with 18 additions and 1 deletions
|
@ -4,7 +4,7 @@ from ruamel.yaml import YAML
|
||||||
|
|
||||||
from compose_viz.compose import Compose, Service
|
from compose_viz.compose import Compose, Service
|
||||||
from compose_viz.extends import Extends
|
from compose_viz.extends import Extends
|
||||||
|
from compose_viz.volume import Volume, VolumeType
|
||||||
|
|
||||||
class Parser:
|
class Parser:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -65,6 +65,22 @@ class Parser:
|
||||||
if service.get("depends_on"):
|
if service.get("depends_on"):
|
||||||
service_depends_on = service["depends_on"]
|
service_depends_on = service["depends_on"]
|
||||||
|
|
||||||
|
service_volumes: List[Volume] = []
|
||||||
|
if service.get("volumes"):
|
||||||
|
for volume_data in service["volumes"]:
|
||||||
|
if type(volume_data) is dict:
|
||||||
|
volume_source = volume_data["source"]
|
||||||
|
volume_target = volume_data["target"]
|
||||||
|
volume_type = VolumeType[volume_data["type"]]
|
||||||
|
service_volumes.append(Volume(source=volume_source, target=volume_target, type=volume_type))
|
||||||
|
elif type(volume_data) is str:
|
||||||
|
spilt_data = volume_data.split(":",1)
|
||||||
|
volume_source = spilt_data[0]
|
||||||
|
volume_target = spilt_data[1]
|
||||||
|
service_volumes.append(Volume(source=volume_source, target=volume_target))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
services.append(
|
services.append(
|
||||||
Service(
|
Service(
|
||||||
name=service_name,
|
name=service_name,
|
||||||
|
@ -73,6 +89,7 @@ class Parser:
|
||||||
extends=service_extends,
|
extends=service_extends,
|
||||||
ports=service_ports,
|
ports=service_ports,
|
||||||
depends_on=service_depends_on,
|
depends_on=service_depends_on,
|
||||||
|
volumes=service_volumes,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
# Service print debug
|
# Service print debug
|
||||||
|
|
Loading…
Reference in a new issue