Source code for qiuwenbot.entrypoints.submit
import argparse
import json
import os
from qiuwenbot.argparse import normalize
from qiuwenbot.task.duplicate import CheckDuplicatedPageTask
from qiuwenbot.task.filter import FilterTask
[docs]def submit(args: argparse.Namespace):
"""Submit a task."""
with open(args.CONFIG) as f:
config = json.load(f)
config = normalize(config)
try:
config["password"] = os.environ["QIUWENBOT_PASSWORD"]
except KeyError as e:
raise KeyError("Please set environment variable QIUWENBOT_PASSWORD") from e
if config["task"] == "filter":
task_class = FilterTask
elif config["task"] == "duplicate":
task_class = CheckDuplicatedPageTask
else:
raise RuntimeError("Unsupported task type")
config.pop("task")
task = task_class(**config)
task.submit()