def send_broadcast(): users = Firebase('https://bott-a9c49.firebaseio.com/users/').get() for user in users: trackings = Firebase('https://bott-a9c49.firebaseio.com/users/' + user).get() for track in trackings: status = Firebase('https://bott-a9c49.firebaseio.com/users/' + user + '/' + track).get() if (u"NOT FOUND" in status['tag']): if status.has_key('courier_link'): retval = get_tracking_by_courier(status['courier_link']) else: if track.startswith("SP"): retval = get_tracking_shippop(track) else: retval = get_tracking(track) if retval != 0 and retval != None: if retval['tag'] != status['tag']: print retval tag = Firebase( 'https://bott-a9c49.firebaseio.com/users/' + user + '/' + track) if status.has_key('subscribe'): tag.set({ 'tag': retval['tag'], 'subscribe': 'true', 'updated_at': str(datetime.datetime.now()) }) else: tag.set({ 'tag': retval['tag'], 'updated_at': str(datetime.datetime.now()) }) send_message(user, retval, track) elif status.has_key( 'subscribe') and u"Delivered" not in status['tag']: print user, track, status['subscribe'] if "true" in status['subscribe']: if status.has_key('courier_link'): retval = get_tracking_by_courier( status['courier_link']) else: if track.startswith("SP"): retval = get_tracking_shippop(track) else: retval = get_tracking(track) if retval != 0 and retval != None: if retval['tag'] != status['tag']: print retval tag = Firebase( 'https://bott-a9c49.firebaseio.com/users/' + user + '/' + track) tag.set({ 'tag': retval['tag'], 'subscribe': 'true', 'updated_at': str(datetime.datetime.now()) }) send_message(user, retval, track)