-
Notifications
You must be signed in to change notification settings - Fork 0
/
Main.py
48 lines (39 loc) · 1.46 KB
/
Main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from stocks import Stocks
import AutomateEmail
from news import stock_news
from apscheduler.schedulers.background import BackgroundScheduler
from Db import Db
def main():
print("Starting...")
db = Db('stock.db')
stock_system = Stocks()
news = stock_news()
email = AutomateEmail.AutomateEmail()
sched = BackgroundScheduler()
# cleaned list
# my_list = db.stock_list()
# for stock in my_list:
# print("processing %s" % stock)
# stock_system.update_add_stock(stock, db)
# news.query_news(stock, db)
#
# stock_system.end_of_day(db)
# stock_system.end_of_week()
def automate():
print("Updating prices and sending email")
stock_system.update_prices(email, news, db) # calls automate email
def end_of_day():
stock_system.end_of_day(db)
for stock in my_list:
news.query_news(stock, db)
def end_of_week():
stock_system.end_of_week(db, email)
#
sched.add_job(automate, 'cron', day_of_week='mon-fri', hour='9-16', minute='*', second='1,31', timezone='US/Eastern') #test
# sched.add_job(automate, 'cron', hour='*', minute='*', second='1,31',
# timezone='US/Eastern')
sched.add_job(end_of_day, 'cron', day_of_week='mon-fri', hour='16', minute='0', second=0, timezone='US/Eastern')
sched.add_job(end_of_week, 'cron', day_of_week='fri', hour='16', minute='0', second=0, timezone='US/Eastern')
#
sched.start()
main()