def add_b(reg_name,reg_id): if require_login(): return redirect(url_for(login)) form = BitsForm() if request.method == 'GET': b=mbits.filter(mbits.c.reg_id==reg_id) return {'form':form,'reg_name':reg_name,'b':b} elif request.method == 'POST': flag = form.validate(request.params) if flag: n = mbits(**form.data) b = mbits.filter(mbits.c.bits_name == form.data.bits_name)\ .filter(mbits.c.reg_id == reg_id) for b1 in b: return redirect('/message/添加错误,重名/-1') n.reg_name = reg_name n.reg_id = reg_id n.save() ne = events() ne.username = request.user.username ne.action = '增加了位说明' ne.objs = reg_name ne.save() return redirect('/regs/add_b/%s/%s'% (reg_name,reg_id)) else: message='错误' return {'form':form}
def display_r(id): ms = [] r = mreg.get(mreg.c.id == id) b = mbits.filter(mbits.c.reg_id == id) for b1 in b: m = mmeanings.filter(mmeanings.c.bits_id==b1.id) for m1 in m: ms.append(m1) return {'r':r,'b':b,'ms':ms}
def search(id): if request.method == 'GET': return redirect("/regs/display_r/%s"% id) m = [] ms = [] b1 = [] r = mreg.get(mreg.c.id == id) b = mbits.filter(mbits.c.reg_id == id) if request.method == 'POST': rvalue = request.params.get('rvalue') for n in b: n.val = regcal(int(n.bits_sbit),int(n.bits_ebit),int(rvalue,16)) b1.append(n) mean = mmeanings.filter(mmeanings.c.bits_id==n.id).filter(mmeanings.c.val==str(n.val)) for me1 in mean: m.append(me1) for b2 in b: m2 = mmeanings.filter(mmeanings.c.bits_id==b2.id) for m1 in m2: ms.append(m1) return {'r':r,'b1':b1,'m':m,'rvalue':rvalue,'ms':ms}