From fc66e4cd98a2d42d5c70e851e4e7949b99d92875 Mon Sep 17 00:00:00 2001 From: guillaume Date: Mon, 17 Jul 2023 15:42:57 +0200 Subject: [PATCH] Ajout de DockerStatus.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Création d'un programme python permettant de voir le statut des conteneurs docker sous forme de tableau --- DockerStatus.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 DockerStatus.py diff --git a/DockerStatus.py b/DockerStatus.py new file mode 100644 index 0000000..b1f25de --- /dev/null +++ b/DockerStatus.py @@ -0,0 +1,31 @@ +import subprocess +from tabulate import tabulate + +# Exécuter la commande docker ps et récupérer la sortie +command = "docker ps -a --format 'table {{.Names}} \t {{.Status}} \t {{.Size}}'" +output = subprocess.check_output(command, shell=True).decode().strip() + +# Convertir la sortie en liste de lignes +lines = output.split("\n") + +# Récupérer les en-têtes de colonnes +headers = lines[0].split("\t") + +# Récupérer les données des conteneurs +data = [line.split("\t") for line in lines[1:]] + +# Générer le tableau avec le cadre +table = tabulate(data, headers=headers, tablefmt="pipe") + +# Déterminer la largeur maximale pour le cadre +max_width = max(len(line) for line in table.split("\n")) + +# Créer le cadre +frame = f"╭{'─' * (max_width - 2)}╮\n" +frame += f"│{'DOCKER STATUS':^{max_width-2}}│\n" +frame += f"├{'─' * (max_width - 2)}┤\n" +frame += table + "\n" +frame += f"╰{'─' * (max_width - 2)}╯" + +# Afficher le cadre +print(frame) \ No newline at end of file