49 lines
1.3 KiB
Python
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)
|
|
|