def get(self): db_events_query = DBEvent.query() db_events_query = db_events_query.order(DBEvent.date) mined_events_query = DBAutoMined.query() mined_events_query = mined_events_query.order(DBAutoMined.date) mined_events_query_results = mined_events_query.filter(DBAutoMined.location=='Conga Room').fetch() #print 'RESULTS:',len(mined_events_query_results) for entity in mined_events_query_results: #print 'Pre-Processing',entity.name,entity.location,entity.date db_events_query_results = db_events_query.filter(DBEvent.name==entity.name).fetch() # Does the Event already exists in the DB ? # Yes: Update it if len(db_events_query_results): print 'Updating',entity.name for event in db_events_query_results: event.cover = float(entity.price) event.date = entity.date event.put() else: # No: Create it if (not entity.promoted) and entity.promote_to_db: #print 'Processing',entity.name,entity.location,entity.date print 'Creating',entity.name newEvent = DBEvent(name = entity.name, venue = entity.location, date = entity.date, type = 'event', open_days = [], cover = float(entity.price), rating = 1.5, description = 'Concert at the Conga Room', address = '800 W. Olympic Blvd, Los Angeles, CA 90015', gps_pos_lat = 34.0449817, gps_pos_lon = -118.3276732, phone = '2137450162', thumbnail_image_locator = '/defaults/thumbnails/event.png', images_locators = [], videos_locators = []) errorWhileWritingEvent = False try: newEvent.put() except: errorWhileWritingEvent = True print 'Error while creating DbEvent for :',entity.name,entity.location,entity.date if not errorWhileWritingEvent: entity.promoted = True entity.put()
def record_device_online(device): if device.last_seen and device.last_seen < (datetime.utcnow() - timedelta(seconds=ALERT_INTERVAL_SECONDS * 3)): p = DBPatient.query.filter_by(id=device.patient_id).first() if p: instance = utcformysqlfromtimestamp(nowtimestamp()) subject = '%s: Room %s, device online' % (FACILITY, p.room) message = 'Device %s online at %s' % (device.serial, str(convert_date_to_tz(instance))) Alert().email_admins(DEVICE_ONLINE, message, subject) event = {} event['medical_record_number'] = p.medical_record_number event['unit_floor'] = p.unit_floor event['patient_id'] = p.id event['device_id'] = device.id event['instance'] = instance event['message'] = 'DEVICE ONLINE' e = DBEvent(**event) db.session.add(e) event_history = {} event_history['medical_record_number'] = p.medical_record_number event_history['unit_floor'] = p.unit_floor event_history['event_type'] = EVENT_HISTORY_DICT['DEVICE ONLINE'] event_history['occurred'] = instance eh = DBEventHistory(**event_history) db.session.add(eh)
def get_news_list(self, request): items = [] # # DB QUERIES # # TODAY today = datetime.datetime.now() yesterday = today - datetime.timedelta(days=1) # EVENTS events_query = DBEvent.query_entries() events_query = events_query.order(DBEvent.date) events_query_results = events_query.filter(DBEvent.date >= yesterday).fetch(request.maxResults) # TOP: 1 St Event for entity in events_query_results[:1]: items.append(entity.to_news_message()) clubs_query = DBClub.query(DBClub.open_days==request.openDay) clubs_query = clubs_query.order(-DBClub.rating) clubs_query_results = clubs_query.fetch(request.maxResults) # 4 OPEN CLUBS TODAY for entity in clubs_query_results[:4]: items.append(entity.to_news_message()) # # Layer Clubs / News ( Prototype Sequence ) # if len(events_query_results) > 1: for index in range(1,len(events_query_results)): items.append(events_query_results[index].to_news_message()) if len(clubs_query_results) > 4: for index in range(4,len(clubs_query_results)): items.append(clubs_query_results[index].to_news_message()) return NewsList(items=items)
def get_events_list(self, request): # TODAY today = datetime.datetime.now() yesterday = today - datetime.timedelta(days=1) # EVENTS query = DBEvent.query_entries() query = query.order(DBEvent.date) items = [entity.to_message() for entity in query.filter(DBEvent.date >= yesterday).fetch(request.maxResults)] """ query = DBEvent.query_entries() query = query.order(DBEvent.date) items = [entity.to_message() for entity in query.fetch(request.maxResults)] """ return EventList(items=items)
def insert_event_entry(self, request): entity = DBEvent.put_from_message(request) return entity.to_message()