#!/usr/libexec/platform-python

import argparse
import sys

from json import dumps
from psconfig.utilities.cli import CLIUtil
from psconfig.utilities.metrics import PSConfigMetricCalculator

#Parse command-line arguments
parser = argparse.ArgumentParser(
                    prog='pscheduler-tasks',
                    description='Get a list of tasks managed by the agent'
                    )
parser.add_argument('--logdir', '-d', dest='logdir', action='store', default='/var/log/perfsonar', help='Directory containing log files to parse')
args = parser.parse_args()

#Init CLI utility
cli = CLIUtil()
metrics = PSConfigMetricCalculator("pscheduler", logdir=args.logdir)

#find guid
guid = metrics.find_guid()
if not guid:
    cli.print_error(f"Unable to find last guid in {metrics.agent_log_file()}. Make sure the agent has completed at least one run.")
    sys.exit(1)

#find tasks
print(dumps(metrics.get_tasks(guid, print_func=cli.print_error), indent=2))
