-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.py
84 lines (65 loc) · 2.89 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
from flask import Flask, render_template, request, jsonify
from admin_functions import addLecture, addCourse
from db import Course, Lecture
from flask_cors import cross_origin, CORS
from admin_auth import admin_login
# создание flask-приложения
app = Flask("LMS")
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route('/courses')
@cross_origin()
def courses():
res = {
"lectures": [],
"courses": []
} # Ответом на запрос является объекта, содержащий массивы лекций и курсов
for lecture in Lecture.select(): # Перебираем лекции из БД
# Дату начала разбиваем на дату и время
date, start_time = str(lecture.start).split(" ")
# Разбиваем дату на три числа, инвертируем и записываем через точку
date = ".".join(date.split("-")[::-1])
# Разбиваем время на три числа, отбрасываем секунды и записываем через :
start_time = ":".join(start_time.split(":")[0:2])
# Дату окончания разбиваем на дату и время, отбрасывая дату, так как она известна из времени начала
_, end_time = str(lecture.end).split(" ")
# Разбиваем время на три числа, отбрасываем секунды и записываем через :
end_time = ":".join(end_time.split(":")[0:2])
# Формируем словарь и добавляем его в массив лекций
res["lectures"].append({
"id": str(lecture.id),
"title": lecture.title,
"description": lecture.description,
"courseId": str(lecture.course_id),
"date": date,
"start": start_time,
"end": end_time
})
for c in Course.select(): # Перебираем курсы из БД
# Формируем словарь и добавляем его в массив курсов
res["courses"].append({
"courseId": str(c.id),
"coursename": c.title,
"coursedescription": c.description
})
# Возвращаем ответ на запрос
return res
@app.route("/adminLogin", methods=['GET', 'POST'])
@cross_origin()
def adminlogin():
data = request.get_json()
return admin_login(**data)
@app.route("/addLecture", methods=['GET', 'POST'])
@cross_origin()
def add_lecture():
data = request.get_json()
addLecture(**data)
return courses
@app.route("/addCourse", methods=['GET', 'POST'])
@cross_origin()
def add_course():
data = request.get_json()
addCourse(**data)
return courses
# Запуск flask-приложения
app.run()