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)