コード例 #1
0
    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))
コード例 #2
0
 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
コード例 #3
0
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()