ArxivRobot/main.py
2019-12-23 12:42:31 +08:00

41 lines
1.1 KiB
Python

import arxiv_bot
import email_sender
import subscriber_utils
import feeds
from lib import utils
import os
from lib import service
from lib.console import console
from lib import screen
subscribe_manager = subscriber_utils.subscribe_manager()
# subscribe_manager.load()
bot = arxiv_bot.arxiv_bot(subscribe_manager.get_subscribed_topics())
feeds_generator = feeds.feed_manager(subscribe_manager, bot)
emailer = email_sender.arxiv_emailer(bot, feeds_generator, debug=False)
log_screen = screen.VirtualScreen()
manager = service.ServiceManager(output=log_screen)
daily_mail_service = service.service(
emailer.send_daily_email,
cron='0 4 * * 1-5',
name = 'send daily email'
)
manager.add(daily_mail_service)
shell = console('ArxivBot')
def command_load(args):
if args == 'subscriber':
subscribe_manager.load()
shell.regist('load', command_load, help_info='load config. (only subscriber supported till now)')
service_shell = service.get_service_console(manager, 'ServiceManager')
shell.regist('service', service_shell, help_info='service mamager')
# cron time:
# min hour day month week
manager.start()
shell.interactive()