Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5694

Re: [Python-de] yaml config mit python editieren

From robert rottermann <robert@redcor.ch>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] yaml config mit python editieren
Date 2020-10-10 13:47 +0200
Message-ID <mailman.1291.1602330461.9580.python-de@python.org> (permalink)
References <09de33f7-e3b5-26b6-90d3-8e9c9b7788be@fuhrmann.homedns.org> <8221f608-2a51-2594-e12a-1cdb0332b8ea@redcor.ch>

Show all headers | View raw


StephanOn 10.10.20 09:39, Stefan Fuhrmann wrote:
> Hallo zusammen,
>
> ich habe eine docker-compose.yml und möchte diese editieren, was mir nicht 
> gelingt.

beliegend zwei Dateien:

config.yaml:
     das is ein Template, das zu Generieren einer yaml-Datei die aus einem 
Template-Ordner gelesen wird.

construct_default.py:
     ersetzt die "Platzhalter"  und schreibt die yaml Datei.

Ich mache da alles sehr "händisch". Geht wohl eleganter, funktioniert aber bestens.

Gruss

Robert

>
> #!/usr/bin/python3
>  2
>  3 import subprocess
>  4 import shutil
>  5 import os
>  6 import docker
>  7 #client = docker.DockerClient(base_url="unix://var/run/docker.sock", 
> version='auto')
>  8 client = docker.from_env()
>  9 import sys
> 10 import yaml
> 11print(sys.version)
> 12
> 1
> 21
> 22
> 23 with open('docker-compose.yml', "r") as f:
>
> 24     # The FullLoader parameter handles the conversion from YAML
> 25     # scalar values to Python the dictionary format26     # docker_compose 
> = yaml.load(file, Loader=yaml.FullLoader)
>
> 27     docker_compose  = yaml.full_load(f)
>
> 28 #    docker_compose  = yaml.load(f, Loader=yaml.FullLoader)
> 29 #    docker_compose['MYSQL_ROOT_PASSWORD'] = "test"
> 30 #docker_compose["services"]["db"]["environment"]['MYSQL_ROOT_PASSWORD'] = 
> docker_compose.update("{{{pass}}}", "passing")
> 31
> 32     #docker_compose.update("{{{pass}}}", "Passing")
> 33
> 34    # txt = "pass"
> 35    # x = txt.replace("pass", "apples")
> 36     docker_compose["services"]["db"]["environment"] = 
> docker_compose.update("pass", "apples")
> 37
> 38 #    print(docker_compose)
> 39    # docker_compose = docker_compose.replace("{{{pass}}}", "passingpass")
> 40
> 41
> 42 with open('docker-compose.yml', "w") as f:
> 43     yaml.dump(docker_compose, f)
>
> in der docker-compose habe ich bei MYSQL_ROOT_PASSWORD=pass eingetragen, weil 
> ich dachte, wenn ich da was einfaches stehen habe, kann ich es ersetzen.
>
> Das funktioniert so leider nicht. Jetzt wird bis "environment" in der yaml 
> alles weggeschnitten.
>
>
> Wie kann ich eine docker-compose.yml mit  python editieren?
>
> Kann jemand helfen?
>
>
> Danke!
>
> Gruß
>
> Stefan
>
>
> _______________________________________________
> python-de maillist  -  python-de@python.org
> https://mail.python.org/mailman/listinfo/python-de

Back to de.comp.lang.python | Previous | Next | Find similar


Thread

Re: [Python-de] yaml config mit python editieren robert rottermann <robert@redcor.ch> - 2020-10-10 13:47 +0200

csiph-web