MyProjects / ToGoodToGo / main.py
main.py
Raw
import WebHelper
import emailhelper
import schedule
from datetime import datetime
import random
import time
from pygame import mixer

alreadyAlerted = {}
dateTimeObj = datetime.now()
schedule.every().day.at("00:00").do(alreadyAlerted.clear)
mixer.init()
mixer.music.load('c:/Windows/Media/Alarm01.wav')

while True:
    jsonObj = WebHelper.get_json_response()
    objectDict = {}

    if jsonObj is None or jsonObj.groupings is None or len(jsonObj.groupings) == 0 \
            or jsonObj.groupings[0].discover_bucket is None or jsonObj.groupings[0].discover_bucket.items is None:
        print("Something went wrong..")
        time.sleep(60)
        # time.sleep(random.randrange(55, 65))  # sleep, some error
        continue

    allObjects = jsonObj.groupings[0].discover_bucket.items
    for obj in allObjects:
        if obj.items_available > 0 and not obj.display_name in alreadyAlerted:
            objectDict[obj.display_name] = obj

    if len(objectDict) == 0:
        print("Scanning...")
        schedule.run_pending()
        time.sleep(60)
        # time.sleep(random.randrange(55, 65))  # sleep
        continue
        mixer.music.play()
    items = objectDict.values()
    emailhelper.send_email_alerts(items)
    # emailhelper.send_email(items)
    for obj in items:
        print(obj.display_name, obj.items_available)  # alert here

    for obj in items:
        alreadyAlerted[obj.display_name] = True