import model import sys import stocks import view import database """ This is the controller file """ if __name__ == '__main__': db = database.db timestamp_latest = model.get_timestamp_latest(db) timestamp_stored = model.get_timestamp_stored() if timestamp_latest == timestamp_stored: """Nothing to do""" sys.exit() # Update timestamp_stored model.put_timestamp_stored(timestamp_latest) timestamp_previous = model.get_timestamp_previous(db) for stock in stocks.stocks: stock_id = stock[1] data_previous = model.get_data(stock_id, timestamp_previous, db) data_latest = model.get_data(stock_id, timestamp_latest, db) threshold = stock[3] max_price = stock[2] is_drop = model.process_data(data_previous, data_latest, max_price, threshold) current_price = float(data_latest.current_price) quantity = data_latest.available_shares - data_previous.available_shares stock_name = stock[0] message = view.create_message( stock_name, timestamp_latest, current_price, quantity) print(message) if is_drop: view.broadcast(message) db.close()