From c6aed1043d28ab2638009ae155725bd3eefc47bc Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 24 May 2021 08:38:05 +0200 Subject: [PATCH] force config_file creation if not exists --- src/cucchiaiata/output/interactive.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/cucchiaiata/output/interactive.py b/src/cucchiaiata/output/interactive.py index 2518979..8e417a0 100644 --- a/src/cucchiaiata/output/interactive.py +++ b/src/cucchiaiata/output/interactive.py @@ -33,7 +33,7 @@ def setting_pki_openssh_client(dico, config): add = new - current modify = [key for key in new if key in current and current_data[key] != new_data[key]] if add or modify: - print(f'\n\nModifications suggérées de la section "Host {hostname}"du fichier "{config_file}" :') + print(f'\n\nModifications suggérées de la section "Host {hostname}" du fichier "{config_file}" :') for line in add: value = new_data[line] if isinstance(value, list): @@ -43,17 +43,21 @@ def setting_pki_openssh_client(dico, config): value = new_data[line] if isinstance(value, list): value = ','.join(value) - print(f' - modifier "{line} {value}"') + print(f' - modifier "{line} {current_data[line]}" en "{line} {value}"') print('\n') else: - print(f'\n\nIl faudrait créer le fichier "{config_file}" :') - print(f'Host {hostname}') + if not isdir(config_dir): + makedirs(config_dir, 0o700) + fh = os_open(config_file, O_WRONLY | O_CREAT, 0o400) + truncate(fh, 0) + write(fh, f'Host {hostname}\n'.encode()) for key, value in new_data.items(): if key == 'hostname': continue - print(f' {key} {value}') - if not isdir(config_dir): - makedirs(config_dir, 0o700) + if isinstance(value, list): + value = ','.join(value) + write(fh, f' {key} {value}\n'.encode()) + close(fh) fh = os_open(f'{identityfile}.pub', O_WRONLY | O_CREAT, 0o400) truncate(fh, 0) write(fh, dico['certificate'].encode())