Пример #1
0
 def get_map_from_database(self):
     travelSensors = db_session.query(TravelSensor).all()
     self.READER_IDs = [x.READER_ID for x in travelSensors]
     for sensor in self.READER_IDs:
         adjs = db_session.query(Summary.Destination).filter(
             Summary.Origin == sensor).distinct(Summary.Destination).all()
         self.ADJ_INTERSECTIONS[sensor] = [adj[0] for adj in adjs]
Пример #2
0
def index_function():
    user = db_session.query(User).first()
    travelSensors = db_session.query(TravelSensor).all()
    return_from_util = util.example_function()
    print travelSensors[0].READER_ID
    summary = db_session.query(Summary).filter(
        Summary.Origin == "51st_manor").all()
    print summary[0].Time
    return render_template("index.html", user=user, msg=None)
Пример #3
0
    def getTravelTime(self, s, t, dtime, weekday):

        beg_day = 0
        end_day = 0

        if weekday in [0, 1, 2, 3, 4]:
            beg_day = 0
            end_day = 4
        else:
            beg_day = 5
            end_day = 6

        # first attempt
        summary = db_session.query(Summary).filter(
            Summary.Origin == s,
            Summary.Destination == t,
            Summary.Weekday == weekday,
            Summary.Time >= dtime / 60,
            Summary.Time <= dtime / 60 + 60,
        ).order_by(Summary.Time).all()

        if len(summary) == 0:
            if dtime >= 23 * 3600:  # after 11pm, look at the next day
                summary = db_session.query(Summary).filter(
                    Summary.Origin == s, Summary.Destination == t,
                    Summary.Weekday == weekday + 1).order_by(
                        Summary.Time).all()

        if len(summary) == 0:
            summary = db_session.query(Summary).filter(
                Summary.Origin == s,
                Summary.Destination == t,
                Summary.Weekday >= beg_day,
                Summary.Weekday <= end_day,
                Summary.Time >= dtime / 60,
                Summary.Time <= dtime / 60 + 60,
            ).order_by(Summary.Time).all()

        if len(summary) == 0:
            # report nothing
            #print "nothing"
            #print {'s':s, 't':t, 'dtime':dtime}
            return self.INFINITY

        looked_years = set()

        total = 0

        for ss in summary:
            if ss.Year not in looked_years:
                looked_years |= set([ss.Year])
                total += ss.Avg_Travel_Time

        #print {'s':s, 't':t, 'dtime':dtime, 'total':total, 'n': len(looked_years)}
        return total / len(looked_years)
Пример #4
0
def authenticated():
    # Returns whether or not the session user is authenticated
    if 'user_id' in session and 'user_token' in session:
        user = db_session.query(User).filter_by(id=session['user_id']).first()
        if user:
            return user.access_token == session['user_token']
    return False
def travelTimePrediction_function():

    travelSensors = db_session.query(TravelSensor).all()
    startTimeList = []
    for i in range(0, 4*24):
        if (i % 4) * 15 == 0:
            startTimeList.append(str(i / 4) + ":00")
        else:
            startTimeList.append(str(i / 4) + ":" + str((i % 4) * 15))

    # print startTimeList

    if request.method == 'POST':
        # time_pre = {
        # 'route': [u'5th_trinity', u'7th_chicon', u'7th_plesant_valley', u'7th_springdale', u'7th_shady'],
        # 'coord': [(30.2661324, -97.7396774), (30.2625771, -97.7221146), (30.2601261, -97.7094955), (30.2560368, -97.7016754), (30.2533531, -97.6975708)],
        # 'time': 466
        # }
        origin = request.form['origin']
        destination = request.form['destination']
        minutes = (int(request.form['start_time']) - 1) * 15
        time_pre = time_prediction.findRoute(origin, destination, 0, 0)
        return render_template("travelTimePrediction.html", travelSensors=travelSensors, time_pre=time_pre, startTimeList=startTimeList)
    else:
        return render_template("travelTimePrediction.html", travelSensors=travelSensors, time_pre=None, startTimeList=startTimeList)
Пример #6
0
 def get_map_from_database(self):
     travelSensors = db_session.query(TravelSensor).filter(
         TravelSensor.READER_ID.contains('lamar')).order_by(
             TravelSensor.LATITUDE.desc())
     self.READER_IDs = [x.READER_ID for x in travelSensors]
     for sensor in self.READER_IDs:
         print sensor
Пример #7
0
 def __init__(self):
     travelSensors = db_session.query(TravelSensor).all()
     self.travelSensors = {
         x.READER_ID: (x.LATITUDE, x.LONGITUDE)
         for x in travelSensors
     }
     self.myMap = Map()
     self.myMap.get_map_from_database()
Пример #8
0
def books_in_category(category_id):
    # Return all Books for a corresponding Category
    return (db_session.query(Book)
            .filter_by(category_id=category_id)
            .order_by(Book.publish_date))
Пример #9
0
def category_all():
    # convienience function to return all category data
    return db_session.query(Category).all()
Пример #10
0
def category_name(category_id):
    # Return the name for a corresponding category id
    category = db_session.query(Category).filter_by(id=category_id).one()
    return category.name