Example #1
0
def book(id1, id2):
    event = getARoom(User.get(id=id1), User.get(id=id2))

    return jsonify([
        event[0], "room number {} in {}".format(event[1]["roomid"],
                                                event[1]["roomname"])
    ])
Example #2
0
def get_users():
    users = User.select()
    pictures = Picture.select()
    matches = Match.select()

    # This will perform two queries.
    combo = prefetch(users, pictures, matches)
    return {"users": [[model_to_dict(user, backrefs=True) for user in combo]]}
Example #3
0
def upload(id):
    if 'file' not in request.files:
        return {"msg": "err", "error": "No file part"}

    file = request.files['file']
    if file.filename == '':
        return {"msg": "err", "error": "No selected file"}

    content = file.read()
    new_filename = str(hashlib.sha1(content).hexdigest())
    # TODO: Save the picture in the db
    user = User.get(User.id == id)

    Picture.create(user=user, hash=new_filename)

    with open(os.path.join("./static/", new_filename), "wb") as image:
        image.write(content)

    return {"msg": "ok", "value": new_filename}
Example #4
0
def photo_list(id):
    hashes = [
        "/static/" + picture.hash
        for picture in User.get(User.id == id).pictures
    ]
    return {"photos": [hashes]}
Example #5
0
def get_matched():
    user = User.get(username=username)
    return [model_to_dict(i) for i in getMatched(user)]
Example #6
0
def swiped(username):
    user = User.get(username=username)
    match = User.get(id=request.args.get('id'))
    Match.create(user=user, match=match)
    return {"msg": "ok"}
Example #7
0
def getSoulMate(username):
    user = User.get(username=username)
    return jsonify([[model_to_dict(i[0], backrefs=True), i[1]]
                    for i in matchSchedules(user.id)])
Example #8
0
def matchSchedules(id): # given a User id, return compatibility with other schedules
    mySchedule = scheduleToArray(json.loads(User.get(id=id).schedule)["timetable"]) #User's schedule
    otherSchedules = [[i, scheduleToArray(json.loads(i.schedule)["timetable"])] for i in User.select()]

    return sorted([[other[0], matchSchedule(mySchedule, other[1])] for other in otherSchedules], key = lambda x : x[1])
Example #9
0
                        score += t.hour * 5
                        score *= 10/(10 + int(room["capacity"]))
                        print(score)
                        if score > current_score:
                            current_best = room
                            current_score = score
                            current_time = datetime.combine(date.today(), t) + timedelta(days=delta)

    return current_best, current_time

def getARoom(u1, u2):
    s1 = scheduleToArray(json.loads(u1.schedule)["timetable"])
    s2 = scheduleToArray(json.loads(u2.schedule)["timetable"])
    print(s1)
    free1 = getFreeTime(s1)
    free2 = getFreeTime(s2)
    combinedFree = [list(set([j.isoformat() for j in free1[i]]) & set([j.isoformat() for j in free2[i]])) for i in range(0, len(free1))]

    place, time = getFreeRooms(combinedFree)

    return[time, place]




if __name__=="__main__":
    s1=scheduleToArray(json.loads(User.get(username="******").schedule)["timetable"])
    s2=scheduleToArray(json.loads(User.get(username="******").schedule)["timetable"])

    print(getFreeRooms(getDateTimes(s1,s2)))
def get_matched():
    user = User.get(username=json.loads(request.data)["username"])
    return [model_to_dict(i) for i in getMatched(user)]
def getSoulMate():
    print(request.data)
    user = User.get(username=json.loads(request.data)["username"])
    return jsonify([[model_to_dict(i[0], backrefs=True), i[1]]
                    for i in matchSchedules(user.id)])
def swiped():
    user = User.get(username=json.loads(request.data)["username"])
    match = User.get(id=json.loads(request.data)["id"])
    Match.create(user=user, match=match)
    return {"msg": "ok"}