mirror of
https://github.com/Garmelon/PFERD.git
synced 2025-07-12 14:12:30 +02:00
57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
import argparse
|
|
import configparser
|
|
|
|
from ..logging import log
|
|
from .common_ilias_args import configure_common_group_args, load_common
|
|
from .parser import CRAWLER_PARSER, SUBPARSERS, load_crawler
|
|
|
|
COMMAND_NAME = "ilias-web"
|
|
|
|
SUBPARSER = SUBPARSERS.add_parser(
|
|
COMMAND_NAME,
|
|
parents=[CRAWLER_PARSER],
|
|
)
|
|
|
|
GROUP = SUBPARSER.add_argument_group(
|
|
title=f"{COMMAND_NAME} crawler arguments",
|
|
description=f"arguments for the '{COMMAND_NAME}' crawler",
|
|
)
|
|
|
|
GROUP.add_argument(
|
|
"--ilias-url",
|
|
type=str,
|
|
metavar="BASE_URL",
|
|
help="The base url of the ilias instance"
|
|
)
|
|
|
|
GROUP.add_argument(
|
|
"--client-id",
|
|
type=str,
|
|
metavar="CLIENT_ID",
|
|
help="The client id of the ilias instance"
|
|
)
|
|
|
|
configure_common_group_args(GROUP)
|
|
|
|
|
|
def load(
|
|
args: argparse.Namespace,
|
|
parser: configparser.ConfigParser,
|
|
) -> None:
|
|
log.explain(f"Creating config for command '{COMMAND_NAME}'")
|
|
|
|
parser["crawl:ilias"] = {}
|
|
section = parser["crawl:ilias"]
|
|
load_crawler(args, section)
|
|
|
|
section["type"] = COMMAND_NAME
|
|
if args.ilias_url is not None:
|
|
section["base_url"] = args.ilias_url
|
|
if args.client_id is not None:
|
|
section["client_id"] = args.client_id
|
|
|
|
load_common(section, args, parser)
|
|
|
|
|
|
SUBPARSER.set_defaults(command=load)
|