def __init__(self, app): self.app = app db = self.app.config['db'] self.dao = StudentDAO(db) self.app.route("/", callback=self.index) self.app.route("/student/<userid>", callback=self.student) self.app.route("/static/<filepath:path>", callback=self.server_static)
class Controller: def __init__(self, app): self.app = app db = self.app.config['db'] self.dao = StudentDAO(db) self.app.route("/", callback=self.index) self.app.route("/student/<userid>", callback=self.student) self.app.route("/static/<filepath:path>", callback=self.server_static) def index(self): students = self.dao.getAllStudents() return template('index_template', dict(students=students)) def student(self, userid): studentWithScores = self.dao.loadScoresForStudent(userid) return template('student_template', dict(student=studentWithScores)) def server_static(self, filepath): return static_file(filepath, root=self.app.config['static'])
def isCorrectAccount(self, account): model = self.dao.selectOne(account.getUsername()) if model == None: return False if model.getPassword() != account.getPassword(): return False if model.getRole() == "Student": ShareHelper.currentUser = StudentDAO().selectOne( model.getUsername()) elif model.getRole() == "Teacher": ShareHelper.currentUser = TeacherDAO().selectOne( model.getUsername()) ShareHelper.currentAccount = model return True
def find_by_id(self, key): return StudentDAO().find_by_id(key)
def find_all(self): return StudentDAO().find_all()
def delete(self, key): StudentDAO().delete(key)
def patch(self, key, field_name, value): StudentDAO().patch(key, field_name, value)
def update(self, key, obj): StudentDAO().update(key, obj)
def create(self, obj): StudentDAO().create(obj)
rooms = {} students = {} parser = argparse.ArgumentParser() parser.add_argument('students', type=str) parser.add_argument('rooms', type=str) parser.add_argument('serializer', type=str, help='Serializer type') parser.add_argument('host', type=str, help='Database host') parser.add_argument('user', type=str, help='Username') parser.add_argument('password', type=str, help='User Password') args = parser.parse_args() config = { 'host': args.host, 'user': args.user, 'password': args.password, } Room.serializer = serializer_type[args.serializer]() rooms = read_objects(args.rooms, Room) students = read_objects(args.students, Student) join(rooms, students) Room.save(rooms.values()) with mysql.connector.connect(**config) as connection: rooms_dao = RoomDAO(connection) students_dao = StudentDAO(connection) rooms_dao.insert(rooms) students_dao.insert(students) print(rooms_dao.rooms_list_with_student_count()) print(rooms_dao.top_5_rooms_with_min_avg_age_of_students()) print(rooms_dao.top_5_rooms_with_max_students_age_diff()) print(rooms_dao.rooms_with_males_and_females()) students_dao.create_index()
def createDatabase(): AccountDAO().createTable() StudentDAO().createTable() TeacherDAO().createTable()
from flask_mysqldb import MySQL from dao import StudentDAO from models import Student from datetime import date import random app = Flask(__name__) app.config['MYSQL_HOST'] = '****' app.config['MYSQL_USER'] = '******' app.config['MYSQL_PASSWORD'] = '******' app.config['MYSQL_DB'] = 'crud_flask' mysql = MySQL(app) student_dao = StudentDAO.StudentDAO(mysql) @app.route('/') def index(): students = student_dao.list_student() return render_template('index.html', students=students) @app.route('/create_student', methods=[ 'POST', ]) def create_student(): doc_id = request.form['doc_id'] ra = generate_ra()