41 lines
1.1 KiB
Python
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()
|