Source code for ewoksjob.cli_utils.cancel
from argparse import Namespace
from typing import Literal
from typing import Optional
import click
from ewoksutils.cli_utils import cli_cancel_utils
from ewoksutils.cli_utils.cli_click import add_click_options
from .. import client
@click.command("cancel")
@add_click_options(cli_cancel_utils.cancel_arguments(shell=True))
def cancel(cli_args: Namespace) -> Optional[Literal[0, 1]]:
"""Abort an Ewoks job."""
result = command_cancel(cli_args, shell=True)
if result:
click.get_current_context().exit(result)
[docs]
def command_cancel(cli_args, shell: bool = False) -> Optional[Literal[0, 1]]:
for job_id in cli_args.job_ids:
print(f"Cancel Job {job_id!r}")
client.cancel(job_id)
if shell:
return 0
return None