def get(self): # report_db(parent=report_db_key('report_database'), time_sent=datetime.now(), comment='much too hot down here~').put() logging.info("start of get") entry_query = report_db.all().ancestor(report_db_key('report_database')) entries = entry_query.fetch(100) template_values = { 'entries': entries, 'datastore' : datastore, 'url_home' : url_back_home, 'url_linktext' : url_text } path = os.path.join(os.path.dirname(__file__), 'print_reports_layout.html') self.response.out.write(template.render(path, template_values))
def query_report_db(self, user_id, time_stamp): "commences the Report database search" query = db.GqlQuery("SELECT __key__ " "FROM report_db " "WHERE ANCESTOR IS :1 AND time_sent = :2 AND user = :3", report_db_key('report_database'), time_stamp, user_id ) entry = query.fetch(1) if (len(entry) > 0): logging.info('returning false') return False else: logging.info('returning true') return True
def add_to_reports_db(self, user_id, report): logging.info('adding_to_reports_db') u = user_id ts = datetime.strptime(report.get('time_stamp'), '%Y-%m-%d %H:%M:%S') l = report.get('line') s1 = report.get('station_1') s2 = report.get('station_2') sat = report.get('satisfaction') direct = report.get('direction') oth = report.get('other') key = report_db_key('report_database') entry = report_db( parent = key, user = u, time_sent = ts, line = l, station_1 = s1, station_2 = s2, direction = direct, satisfaction_rating = sat, other = oth ) dr = None cr = None complaints = [] for complaint in report.get('categories'): if (complaint == 'Minor Delays'): dr = 350 elif (complaint == 'Major Delays'): dr = 450 elif (complaint == 'Crowded Train') or (complaint == 'Crowded') or (complaint == 'Crowded Platform'): cr = 350 else: complaints.append(complaint) if dr is not None: entry.delay_rating = dr if cr is not None: entry.crowd_rating = cr entry.category = complaints entry.put()