コード例 #1
0
ファイル: static.py プロジェクト: 5000factorial/timetable
def rooms_by_address():
    print(request.form)
    if not 'start' in request.form.keys():
        return jsonify([{
            'id': i.id,
            'name': i.name
        } for i in Room.select().where(Room.address == request.form['address'])
                        ])
    else:
        data = dict(request.form)
        print('awdawdawdaw')
        start = data['start'].split(':')
        data['start'] = datetime.datetime.now().replace(hour=int(start[0]),
                                                        minute=int(start[1]),
                                                        second=0)
        data['end'] = data['start'] + datetime.timedelta(hours=1, minutes=30)
        data['start'] = datetime.time(hour=data['start'].hour,
                                      minute=data['start'].minute)
        data['end'] = datetime.time(hour=data['end'].hour,
                                    minute=data['end'].minute)
        data['date'] = datetime.datetime.fromisoformat(data['date'].replace(
            'Z', '')).date()
        qq = Room.select().where((Room.address == data['address'])
                                 & Room.id.not_in(
                                     Room.select(Room.id).join(Lesson).where(
                                         (Lesson.date == data['date'])
                                         & (((data['start'] >= Lesson.start) &
                                             (data['start'] <= Lesson.end))
                                            | ((data['end'] >= Lesson.start) &
                                               (data['end'] <= Lesson.end))))))
        print(list(qq))
        return jsonify([{'id': i.id, 'name': i.name} for i in qq])
コード例 #2
0
ファイル: static.py プロジェクト: 5000factorial/timetable
def new_lesson():
    return render_template('lessons/new.html',
                           groups=Group.select(),
                           lecturers=Lecturer.select(),
                           addresses=Room.select(Room.address).group_by(
                               Room.address))