def applyQual(): if request.method == 'GET': # 显示所有未获得操作资格的仪器 stuID = glo.get_value('glo_userID') db_insts = db.get_insts(opt='unqual', stuID=stuID) return render_template('applyqual.html', instruments=db_insts) else: # 选中某个仪器,显示可以审批的老师 instID = request.form.get('form-instID', default='10001') # 选中的仪器编号 logger.info("<前端获取> 仪器编号:" + instID) db_teachers = db.get_qual(opt='faculty', instID=instID) logger.info("<数据库传回>teachers " + str(db_teachers)) # TODO 将老师数据返回前端 # TODO 发送申请 # 要插入的新仪器申请记录的参数 recordNum = glo.get_value('glo_record_num') glo.set_value('glo_record_num', recordNum + 1) recordID = recordNum + 1 # 编号 state = 's1' # 状态 stuID = glo.get_value('glo_userID') # 申请人学号 groupName = None timeID = None instName = request.form.get('form-instname', default='default name') # 仪器名称 approvalID = request.form.get('form-approvalID', default='0000') # 审批人编号 db.add_inst_record(recordID, state, stuID, groupName, timeID, instName, approvalID) return 'applied'
def showInfo(): # 取个人信息 glo_userID = glo.get_value('glo_userID') glo_identity = glo.get_value('glo_identity') # logger.info("<全局变量> glo_userID:"+glo_userID+" glo_identity:"+glo_identity) db_info = db.get_info(glo_userID, glo_identity) logger.info("<数据库传回> " + str(db_info)) return render_template('myinfo.html', identity=glo_identity, info=db_info)
def current_state(): result_state = "" if glo.get_value("LOOP"): result_state += " 循环发送已开启 \n" else: result_state += " 循环发送已关闭 \n" if glo.get_value("LOOP_COUPONS"): result_state += " 优惠卷发送已开启" else: result_state += " 优惠卷发送已关闭" return result_state
def recordAdmin(): adminID = glo.get_value('glo_userID') db_records = db.get_records(opt='approval', userID=adminID) logger.info("<数据库传回>db_records " + str(db_records)) # TODO 这里所有类型和状态的记录都混在一起……交给前端分开吗? return "unfinished"
def myGroupStudent(): glo_userID = glo.get_value('glo_userID') #db_groups = db.get_group_stu(glo_userID) db_groups = db.get_groups(opt='in', stuID=glo_userID) logger.info("<数据库传回> " + str(db_groups)) return render_template('mygroup-student.html', groups=db_groups)
def recordTeacher(): if request.method == 'GET': teaID = glo.get_value('glo_userID') db_records = db.get_records(opt='approval', userID=teaID) logger.info("<数据库传回>db_records " + str(db_records)) # TODO 这里所有类型和状态的记录都混在一起……交给前端分开吗? return "unfinished" else: # TODO 在哪里通过课题组的申请?? return "unfinished"
def recordStudent(): if request.method == 'GET': stuID = glo.get_value('glo_userID') db_records = db.get_records(opt='applier', userID=stuID) logger.info("<数据库传回>db_records " + str(db_records)) # TODO 这里所有类型和状态的记录都混在一起……交给前端分开吗? return "unfinnished" else: # TODO 填写反馈 return "unfinished"
def allGroup(): if request.method == 'GET': # db_groups = db.get_all_groups() db_groups = db.get_groups(opt='out', stuID=glo.get_value( 'glo_userID')) # 我TM大无语……只是忘记传参,结果以为是什么bug改了几小时 # db_groups = db.get_groups(opt='all') logger.info("<数据库传回> " + str(db_groups)) return render_template('allgroup.html', groups=db_groups) # TODO按钮交互 else: # 按下加入按钮,传回选中数据 leaderID = request.form.get('leaderID', default='000') # 所属教师编号 groupID = request.form.get('groupID', default='000') # 课题组编号 logger.info("<前端获取>所属教师编号:" + leaderID + " 课题组编号:" + groupID) stuID = glo.get_value('glo_userID') db.add_apply_for_group(stuID, leaderID) return 'applied'
def reserve(): if request.method == 'GET': # 显示所有已获得操作资格的仪器 stuID = glo.get_value('glo_userID') db_insts = db.get_insts(opt='qual', stuID=stuID) return render_template('applyqual.html', instruments=db_insts) else: # 选中某个仪器,显示可以审批的仪器管理员、可用时间段和可选课题组 instID = request.form.get('form-instID', default='10001') # 选中的仪器编号 logger.info("<前端获取> 仪器编号:" + instID) db_admins = db.get_qual(opt='admin', instID=instID) logger.info("<数据库传回>db_admins " + str(db_admins)) db_times = db.get_spare_time(instID) logger.info("<数据库传回>db_admins " + str(db_times)) stuID = glo.get_value('glo_userID') db_groups = db.get_groups(opt='in', stuID=stuID) logger.info("<数据库传回>db_groups " + str(db_groups)) # TODO 将所有数据返回前端 # TODO 发送申请 # 要插入的新仪器申请记录的参数 recordNum = glo.get_value('glo_record_num') glo.set_value('glo_record_num', recordNum + 1) recordID = recordNum + 1 # 编号 state = 's1' # 状态 stuID = glo.get_value('glo_userID') # 申请人学号 groupName = request.form.get('form-groupname', default='default g name') # 课题组名称 timeID = request.form.get('form-timeID', default='default timeID') # 时间段编号 instName = request.form.get('form-instname', default='default i name') # 仪器名称 approvalID = request.form.get('form-approvalID', default='0000') # 审批人编号 db.add_inst_record(recordID, state, stuID, groupName, timeID, instName, approvalID) return 'applied'
def time_func(self, value): import glo arr_position = glo.get_value('position') print(self.origin, arr_position) if arr_position is not None: self.origin[0] = 4 - arr_position[0] / 100 self.origin[1] = arr_position[1] / 100 # x = arr_position[0] # y = arr_position[1] # print(10*self.offset, 0.01 * x) # self.move(0.0001 * (500 - x), 0, 0.) glutPostRedisplay() glutTimerFunc(1, self.time_func, 1)
def instApproveAdmin(): if request.method == 'GET': adminID = glo.get_value('glo_userID') db_records = db.get_records(opt='approval', userID=adminID) db_records = wrap.select_records_by_state(db_records, 's1') logger.info("<数据库传回(转变格式后)db_records> " + str(db_records)) return "unfinished" else: # 按下审批通过按钮后,更新仪器申请记录表的状态 recordID = request.form.get('recordID', default='undefined') # 选中记录编号 logger.info("<前端获取> recordID:" + str(recordID)) db.update_record_state(recordID, 's2') return "unfinished"
def sync_handle_msg(event): # print(event) LOOP = glo.get_value("LOOP") if event.user_id == 303205844 and event.message_type == "private" and event.message == "开启循环" and not LOOP: bot.sync.send_private_msg(user_id=event.user_id, message='我已经开启了循环模式') # 设置开始循环 glo.set_value("LOOP", True) i = 1 while glo.get_value("LOOP", False): if glo.get_value("LOOP_COUPONS", False): coupons_send_one_goods(bot, i) # 如果没有循环任务,则关闭循环 else: glo.set_value("LOOP", False) break i += 1 if i < 100 else 1 print(glo.get_value("LOOP"), i) if event.user_id == 303205844 and event.message_type == "private" and event.message == "关闭循环" and LOOP: bot.sync.send_private_msg(user_id=event.user_id, message='我已经关闭了循环模式') # 设置关闭循环 glo.set_value("LOOP", False)
def __call__(self, req): conf = glo.get_value('CONFIG') error = { 'code': getattr(self.error, 'errcode', 500), 'desc': str(self.error), 'msg': {} } status_code = int(getattr(self.error, 'status_code', 500)) if status_code == 500: if int(conf['db']['echo']): print(self.traceback) response = webob.Response() response.status_int = status_code response.content_type = 'application/json' response.unicode_body = json.dumps(error) return response
def teacherGroup(): if request.method == 'GET': # 显示教师的课题组信息 # db_group = db.get_group_by_teacher(userID) db_group = db.get_groups(opt='teacher', teaID=glo.get_value('glo_userID')) # logger.info("<数据库传回db_group> "+str(db_group)) db_group = wrap.wrap_one_group(db_group[1]) logger.info("<数据库传回(转变格式后)db_group> " + str(db_group)) if db_group: group_id = db_group["编号"] # 学生人员信息 membersInfo = db.get_students_by_group(group_id) logger.info("<数据库传回membersInfo> " + str(membersInfo)) else: membersInfo = [] return render_template('mygroup-teacher.html', group=db_group, membersInfo=membersInfo) # TODO按钮交互 else: # 添加/删除了学生 或 修改了课题组信息 # 判断操作 action = request.form.get('action', default='undefined') # 若按下删除学生按钮 if action == "delete": memberID = request.form.get('memberID', default='undefined') # 选中学生学号 groupID = request.form.get('groupID', default='undefined') # 课题组编号 logger.info("<前端获取> memberID:" + str(memberID) + " groupID:" + str(groupID)) db.remove_student_from_group(memberID, groupID) return "deleted" # 若按下保存编辑后的课题组信息按钮 elif action == "edit": groupID = request.form.get("groupID", default="undefined") # 课题组编号 newName = request.form.get("newName", default="undefined") # 编辑后的课题组名称 newType = request.form.get("newType", default="undefined") # 编辑后的课题组类型 logger.info("<前端获取> groupID:" + str(groupID) + " newName:" + str(newName) + " newType:" + str(newType)) db.update_group_info(groupID, newName, newType) return "updated" # 若新增成员 else: # 显示可以加入的成员 # 若按下确定按钮后 # 若删除课题组 # 若创建课题组 # all_students = db.get_all_students() # print(type(all_students)) # # 我晕了……这是个列表,没法return # logger.info("all_students:"+str(all_students)) # index = [] # for i in range(len(all_students)): # index.append(i) # logger.info("index:"+str(index)) # d = dict(zip(index, all_students)) # logger.info("d:"+str(d)) return jsonify(d)
import glo from sqlalchemy import create_engine from sqlalchemy.engine.url import URL from sqlalchemy.orm import sessionmaker CONFIG = glo.get_value('CONFIG', {}) s = URL( drivername=CONFIG['db']['drivername'], username=CONFIG['db']['username'], password=CONFIG['db']['password'], host=CONFIG['db']['host'], port=CONFIG['db']['port'], database=CONFIG['db']['database'] ) engine = create_engine(s, echo=int(CONFIG['db']['echo'])) DBSession = sessionmaker(bind=engine) glo.set_value('ENGINE', engine) glo.set_value('DB', DBSession())
# -*- coding: utf-8 -*- """ Created on Sun Mar 4 14:21:14 2018 @author: Administrator """ import pandas as pd import pymysql import tushare as ts import glo import sql #------------------------------------------------------------------------------ hosts = glo.get_value('host') users = glo.get_value('user') passwords = glo.get_value('passwd') databases = glo.get_value('database') #------------------------------------------------------------------------------ def create_k_table(): db = pymysql.connect(host=hosts, user=users, password=passwords, database=databases, charset='utf8') cursor = db.cursor() sql1 = """CREATE TABLE IF NOT EXISTS `anack_d_k_data` (
import glo from flask import jsonify from App import app from gevent import monkey from App.models.article import Article monkey.patch_all() DB = glo.get_value('DB') ENGINE = glo.get_value('ENGINE') @app.route('/test/<int:user>') def index(user): v = DB.query(Article).filter(Article.id == 1000002).one().to_dict() return jsonify({'code': 200, 'msg': {'data': v}}) @app.route('/index') def index2(): return jsonify({'code': 200, 'msg': {'user': '******'}})