28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
import argparse
|
|
import os
|
|
from dataset.preparer import download_words
|
|
from model.trainer import train
|
|
import web.server
|
|
import model.updater
|
|
|
|
|
|
parser = argparse.ArgumentParser(prog='Antispam complex')
|
|
parser.add_argument('-i', '--init', action=argparse.BooleanOptionalAction, help='Initializing, must be run beforehand, --dataset is required')
|
|
parser.add_argument('-m', '--decision-maker', action=argparse.BooleanOptionalAction, help='Start as Decision maker')
|
|
parser.add_argument('-d', '--dataset', required=False, help='Path to CSV (ham/spam) dataset')
|
|
parser.add_argument('-u', '--model-updater', required=False, help='Start as Model updater')
|
|
args = parser.parse_args()
|
|
|
|
|
|
_port = 8080 if os.getenv('PORT') is None else os.getenv('PORT')
|
|
|
|
if __name__ == '__main__':
|
|
if args.init:
|
|
assert args.dataset is not None, "Dataset is required, show --help"
|
|
download_words()
|
|
train(args.dataset)
|
|
elif args.decision_maker:
|
|
web.server.start(port=_port)
|
|
elif args.model_updater:
|
|
model.updater.start()
|