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