Guillaume RYCKELYNCK c6c2ee9c04 first commit
2024-06-22 22:00:42 +02:00

49 lines
1.3 KiB
Python

import click
from sdi_checker.libs.audits import Audits
from sdi_checker.app_cli import display_audits
@click.command(name='delete')
@click.argument('id', nargs=-1)
@click.option('--file', '-f', default='', type=str, help='audits JSON file')
@click.pass_obj
def run(app, id, file):
"""
> audits delete ID [--file FILE]
"""
on_delete(app, id, file)
def on_delete(app, id=None, file=None):
# TODO: ajouter possibilité de supprimer plusieurs serveices avec audits delete 1 2 3
id = [str(i.strip()) for i in ','.join(id).split(',')]
audits_file = file or app.audits_file
if len(id) == 0 or id[0] is None:
app.echo('ID parameter error')
exit()
else:
id = int(id[0])
audits = Audits(file=audits_file)
audit_delete = audits.get(id=id).result
if len(audit_delete) == 0:
app.echo('ID not exists. Audit(s) can\'t be removed.')
exit()
delete = click.confirm(text='Do you want to delete audit {id} ?'.format(id=id), default=False)
if delete:
audits.delete(id=id)
else:
app.echo('Delete operation aborted')
audits_list = audits.get().result
result = display_audits.print_audits_list(app, audits_list, title="Liste des audits")
result_text = '\n'.join(result)
app.echo(result_text)