def cidhome(CID_C): try: res = [] sum = dataforum.query(FORUM).filter(FORUM.FID != "0000").count() for i in range(1, sum + 1): help = dataforum.query(FORUM).filter(FORUM.FID == str(i)).first() moid = help.MOID temp = dataforum.query(MODULE).filter(MODULE.MOID == moid).first() Author = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == help.CID).first() mona = temp.MOname temp_res = {} temp_res["FID"] = help.FID #论贴的ID temp_res["Finf"] = help.Finf #论贴的内容 temp_res["CID"] = help.CID #论贴传作者的ID temp_res["good"] = str(help.good) #点赞的数目 temp_res["module_name"] = mona #论贴所属的模块名字 temp_res["title"] = help.title #论贴的标题 temp_res["module_id"] = help.MOID #论贴的模块ID temp_res["author"] = Author.Cname #创建论贴的用户名字 res.append(temp_res) return jsonwrap(0, "success.", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def myrank(SID): try: answer = [] res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again222222.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID personq = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(personq) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again11111.", res) person = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == CID_C).first() cname = person.Cname res['rank'] = str(int(person.crank)) #用户的级别 return jsonwrap(0, "success.", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def forum_show(MOID_M): try: res=[] forums=dataforum.query(FORUM).filter(FORUM.MOID==MOID_M).all() Len = len(forums) tmp={"total":Len,"MOID":MOID_M} res.append(tmp) forums=sorted(forums,key=cmp_to_key(cmpp),reverse=1) flag=0 allforums=[] for i in range(Len-1,-1,-1): if(flag==3): break forum=forums[i] thread = {"ID": forum.FID, "title":forum.title,"date":time_change(forum.date)} allforums.append(thread) flag=flag+1 dataforum.close() res.append(allforums) return jsonwrap(0,"success",res) except Exception as e: error = {} return jsonwrap(10,"error",error) finally: dataforum.commit() dataforum.close()
def mycomment(SID): try: res = [] thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID ansp = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ansp) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() mod = dataforum.query(FORUM).filter(FORUM.CID == CID_C).first() allforum = dataforum.query(COMMENT).filter(COMMENT.CID == CID_C).all() Len = len(allforum) for i in range(Len): tempfroum = allforum[i] temp_post = dataforum.query(FORUM).filter( FORUM.FID == tempfroum.FID).first() temp_res = {} temp_res["information"] = tempfroum.COinf #评论内容 temp_res["title"] = temp_post.title #论贴的标题 temp_res["FID"] = temp_post.FID #论贴的标题 temp_res["date"] = time_change(tempfroum.date) #评论创建的时间 res.append(temp_res) dataforum.close() return jsonwrap(0, "success.", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def jsontest(): user = request.args.get('nm') password = request.args.get('ps') res = {} res['YourName'] = user res['YourPassword'] = password res['YourUID'] = random.randint(50, 100) return jsonwrap(0, "ok", res)
def login(): try: res = {} user = request.args.get('nm') password = request.args.get('ps') if (user == None or password == None or user == '' and password == ''): dataforum.close() return jsonwrap(8, "empty.", res) ans_p = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == user, CUSTOMER.passwd == password).all() res = {} if (len(ans_p) > 0): ans = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == user, CUSTOMER.passwd == password).first() userrank = ans.crank temp_ans = dataforum.query(SESSION).filter( SESSION.Cname == user).delete() if (temp_ans != None): dataforum.query(SESSION).filter(SESSION.Cname == user).delete() dataforum.commit() ranstr = generate_random_str() nowtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) newsession = SESSION(sid=ranstr, Cname=user, dt=nowtime) dataforum.add(newsession) dataforum.commit() res['SID'] = ranstr res['Cname'] = user res['crank'] = str(int(userrank)) dataforum.close() return jsonwrap(0, "login success.", res) else: dataforum.close() return jsonwrap(1, "Pelease check again.", res) except Exception as e: error = {} return jsonwrap(10, str(e), error) finally: dataforum.commit() dataforum.close()
def regist(): try: res = {} user = request.args.get('nm') password = request.args.get('ps') if (user == None or password == None or user == '' or password == ''): dataforum.close() return jsonwrap(8, "empty.", res) if (dataforum.query(CUSTOMER).filter(CUSTOMER.Cname == user).all() or user == None): dataforum.close() return jsonwrap(1, "Username already exists.", res) #===================================================================== a = dataforum.query(func.count('*')).select_from(CUSTOMER).scalar() a = a + 1 table_cid = str(a) image_location = "./" + table_cid newcustomer = CUSTOMER(CID=table_cid, Cname=user, passwd=password, crank=1, imagestr=image_location, flag=1) dataforum.add(newcustomer) dataforum.commit() #=========================================================== res['CID'] = table_cid #用户ID res['Cname'] = user #用户名字 res['passwd'] = password #用户密码 res['crank'] = "1" #用户级别 res['imagestr'] = image_location #照片路径 dataforum.close() return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def collect(SID, FID): try: res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID ansq = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ansq) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() tmptest = dataforum.query(FORUM).filter(FORUM.FID == FID).first() if (tmptest == None): return jsonwrap(4, "该帖子不存在", res) test = dataforum.query(COLLECTION).filter( COLLECTION.Cname == cname, COLLECTION.FID == FID).first() if (test != None): return jsonwrap(5, "The forum has been collected", res) ast = dataforum.query(COLLECTION).filter(COLLECTION.ctid != 0).all() if (len(ast) == 0): a = 1 else: a = ast[-1].ctid + 1 newcollection = COLLECTION(ctid=a, Cname=cname, FID=FID) dataforum.add(newcollection) dataforum.commit() res['Cname'] = cname res['FID'] = FID #论贴的ID dataforum.close() return jsonwrap(0, "success", res) except Exception as e: error = {} return jsonwrap(10, str(e), error)
def adminlogin(): try: res = {} user = request.args.get('nm') password = request.args.get('ps') if (user == None): return jsonwrap(8, "empty", res) if (password == None): return jsonwrap(8, "empty", res) ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.Adname == user, ADMINISTRATOR.Adpasswd == password).all() res = {} if (len(ans) > 0): dataforum.query(SESSION).filter(SESSION.Cname == user).delete() ranstr = generate_random_str() nowtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) newsession = SESSION(sid=ranstr, Cname=user, dt=nowtime) dataforum.add(newsession) dataforum.commit() dataforum.close() res['SID'] = ranstr res['Adname'] = user res['dt'] = nowtime return jsonwrap(0, "Administrator login success.", res) else: return jsonwrap(1, "Pelease check again.", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def adminban(CID_C, SID): try: res = {} ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').all() if ((len(ans) == 0)): return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').first() if (ans == None): return jsonwrap(1, "sid不存在", res) Aname = ans.Adname thissession = dataforum.query(SESSION).filter( SESSION.Cname == Aname, SESSION.sid == SID).first() if (thissession == None): return jsonwrap(2, "Pelease Login again", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() user = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() if (user.flag == 0): return jsonwrap(4, "The user has been banned", res) user.flag = 0 nowbt = datetime.datetime.now() cname = user.Cname record = BAN(Cname=cname, bt=nowbt) dataforum.add(record) dataforum.commit() dataforum.close() res['CID'] = CID_C res['Cname'] = cname return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def auto_remove_ban(): try: records = dataforum.query(BAN).filter(BAN.Cname != None).all() Len = len(records) for i in range(0, Len): record = records[i] thisbt = record.bt nowbt = datetime.datetime.now() subdt = (nowbt - thisbt).days if (subdt >= 1): cname = record.Cname user = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == cname).first() dataforum.query(BAN).filter(BAN.Cname == cname).delete() user.flag = 1 dataforum.commit() dataforum.close() except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def admindelete(FID,SID): try: res={} ans = dataforum.query(ADMINISTRATOR).filter(ADMINISTRATOR.AdID=='0').all() if ((len(ans)==0)): return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(ADMINISTRATOR).filter(ADMINISTRATOR.AdID=='0').first() if(ans == None): return jsonwrap(1,"sid不存在",res) Aname = ans.Adname thissession = dataforum.query(SESSION).filter(SESSION.Cname==Aname,SESSION.sid==SID).first() if (thissession==None): return jsonwrap(2, "Pelease Login again", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if(subdt>3600): dataforum.delete(thissession) dataforum.commit() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() dataforum.query(COMMENT).filter(COMMENT.FID == FID).delete() dataforum.query(FORUM).filter(FORUM.FID == FID).delete() dataforum.commit() dataforum.close() res['FID'] = FID return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10,"error",error) finally: dataforum.commit() dataforum.close()
def returncollection(SID): try: answer = [] res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID ansp = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ansp) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() allforum = dataforum.query(COLLECTION).filter( COLLECTION.Cname == CNAME).all() Len = len(allforum) for i in range(0, Len): tempcus = allforum[i] tempfroum = dataforum.query(FORUM).filter( FORUM.FID == tempcus.FID).first() mod = dataforum.query(MODULE).filter( MODULE.MOID == tempfroum.MOID).first() thiscustomer = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == tempfroum.CID).first() temp_people = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == tempfroum.lastestUID).first() temp_res = {} temp_res["FID"] = tempfroum.FID #论贴ID temp_res["Finf"] = tempfroum.Finf #论贴内的信息 temp_res["CID"] = tempfroum.CID #论贴创建者的ID temp_res["good"] = str(tempfroum.good) #点赞的数目 temp_res["module_name"] = mod.MOname #论贴所属板块的名称 temp_res["module_id"] = mod.MOID #论贴所属的板块ID temp_res["title"] = tempfroum.title #论贴的标题 temp_res["author"] = thiscustomer.Cname #论贴的创建者的名字 temp_res["views"] = tempfroum.views #论贴的创建者的名字 temp_res["cnumber"] = tempfroum.cnumber #论贴被评价的次数 temp_res["date"] = time_change(tempfroum.date) #论贴创建的时间 temp_res['lastestUID'] = tempfroum.lastestUID #最后一次评论的用户ID temp_res['lastestTime'] = time_change(tempfroum.date) #最后一次评论的时间 temp_res['lastestname'] = thiscustomer.Cname #最后一次评论的人名 if (temp_people != None): #判断是否存在评论 temp_res['lastestUID'] = tempfroum.lastestUID #最后一次评论的用户ID temp_res['lastestname'] = temp_people.Cname #最后一次评论的人名 temp_res['lastestTime'] = time_change( tempfroum.lastestTime) #最后一次评论的时间 answer.append(temp_res) dataforum.close() return jsonwrap(0, "succes.", answer) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def admincreate(SID): try: res = {} ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').all() if ((len(ans) == 0)): return jsonwrap(1, "Pelease check again.", res) note = request.args.get('note') title = request.args.get('title') if (note == None or title == None): return jsonwrap(4, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').first() if (ans == None): return jsonwrap(1, "sid不存在", res) Aname = ans.Adname thissession = dataforum.query(SESSION).filter( SESSION.Cname == Aname, SESSION.sid == SID).first() if (thissession == None): return jsonwrap(2, "Pelease Login again", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() ast = dataforum.query(FORUM).all() a = return_int(ast[-1].FID) + 1 Forum_cid = str(a) newone = FORUM(FID=str(Forum_cid), Finf=note, good=0, CID='0', Frank=1, MOID=5, title=title, cnumber=0, date=nowdt, views=0, lastestUID="0", lastestTime=nowdt) dataforum.add(newone) dataforum.commit() dataforum.close() res['FID'] = Forum_cid res['Finf'] = note res['good'] = "0" res['AdID'] = '0' res['Adname'] = 'root' res['Frank'] = "1" res['MOID'] = "5" res['Title'] = title res['date'] = time_change(nowdt) return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def create(CID_C, SID): try: res = {} ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ans) == 0)): return jsonwrap(1, "Pelease check again.", res) note = request.args.get('note') #论贴信息 title = request.args.get('title') #论贴级别 temprank = request.args.get('rank') # rank = return_int(temprank) if (note == None): return jsonwrap(2, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thissession = dataforum.query(SESSION).filter( SESSION.Cname == cname, SESSION.sid == SID).first() if (thissession == None): return jsonwrap(3, "Pelease Login again.", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) return jsonwrap(4, "Pelease Login again.", res) if (ans.flag == 0): return (5, "You have been limited.", res) if (ans.crank < rank): return (6, "rank wrong", res) newstr = generate_random_str() thissession.sid = newstr thissession.dt = nowdt dataforum.commit() a = dataforum.query(func.count('*')).select_from(FORUM).scalar() a = a + 1 Forum_cid = str(a) newone = FORUM(FID=str(Forum_cid), Finf=note, good=0, CID=CID_C, Frank=1, MOID=0, title=title, cnumber=0, date=nowdt) dataforum.add(newone) dataforum.commit() ans.crank = ans.crank + 0.1 dataforum.commit() res['FID'] = Forum_cid #论贴的ID res['Finf'] = note #论贴的内容 res['good'] = "0" #论贴的点赞数量 res['CID'] = CID_C #创建论贴的用户ID res['Frank'] = temprank #论贴的级别 res["MOID"] = "0" #论贴所属的模块ID res['SID'] = newstr #更新SID res['Crank'] = str(int(ans.crank)) #创建论贴的用户级别 res['title'] = title #论贴的标题 res['cname'] = ans.Cname #创建论贴的用户ID res['cnumber'] = "0" #论贴的评论数目 res['date'] = time_change(nowdt) #论贴的创建时间 dataforum.close() return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def good(SID, FID): try: res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID ansq = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ansq) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() #thiscu = dataforum.query(CUSTOMER).filter(CUSTOMER.CID==CID_C).first() #thisna = thiscu.Cname thisforum = dataforum.query(FORUM).filter(FORUM.FID == FID).first() ans2 = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == thisforum.CID).first() a = thisforum.good thisforum.good = thisforum.good + 1 dataforum.commit() ans2.crank = ans2.crank + 0.5 dataforum.commit() res['FID'] = thisforum.FID #论贴的ID res['Finf'] = thisforum.Finf #论贴的内容 res['good'] = str(thisforum.good) #论贴的点赞数 res['CID'] = thisforum.CID #创建论贴的用户ID res['Frank'] = str(int(thisforum.Frank)) #论贴的级别 res["module_id"] = thisforum.MOID #论贴的模块ID res['crank'] = ans.crank #用户的级别 dataforum.close() return jsonwrap(0, "success", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def search(SID): try: res = [] tmp = dataforum.query(SESSION).filter(SESSION.sid == SID).first() if (tmp == None): res = {'sid': SID} return jsonwrap(1, "sid不存在", res) tmpname = tmp.Cname ans = dataforum.query(CUSTOMER).filter(CUSTOMER.Cname == tmpname).all() if ((len(ans) == 0)): return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == tmpname).first() cname = ans.Cname thissession = dataforum.query(SESSION).filter( SESSION.Cname == cname, SESSION.sid == SID).first() if (thissession == None): return jsonwrap(2, "Pelease Login again.", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() content = request.args.get('con') if (content == None): return jsonwrap(8, "empty", res) forums = dataforum.query(FORUM).filter( FORUM.Finf.like("%" + content + "%") | FORUM.title.like("%" + content + "%")).all() Len = len(forums) msg = {"Cname": cname} res.append(msg) inf = [] for i in range(0, Len): forum = forums[i] tmpcid = forum.CID tmpcustomer = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == tmpcid).first() if (tmpcustomer == None): return jsonwrap(8, "empty", res) lastestID = forum.lastestUID lastcustomer = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == lastestID).first() if (lastcustomer == None): thread = { "ID": forum.FID, "info": forum.Finf, "likeCnt": forum.good, "time": time_change(forum.date), "MOID": forum.MOID, "title": forum.title, "commentnumber": forum.cnumber, "author": tmpcustomer.Cname, "views": forum.views, "lastestname": tmpcustomer.Cname, "lastestTime": time_change(forum.date), } else: thread = { "ID": forum.FID, "info": forum.Finf, "likeCnt": forum.good, "time": time_change(forum.date), "MOID": forum.MOID, "title": forum.title, "commentnumber": forum.cnumber, "lastestname": lastcustomer.Cname, "lastestTime": time_change(forum.lastestTime), "author": tmpcustomer.Cname, "views": forum.views } inf.append(thread) res.append(inf) dataforum.close() return jsonwrap(0, "ok", res) except Exception as e: error = {} dataforum.commit() return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def browsefo(SID, FID): try: answer = [] res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID ansq = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(ansq) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() thisfo = dataforum.query(FORUM).filter(FORUM.FID == FID).first() if (ans.crank < thisfo.Frank): dataforum.close() return jsonwrap( 4, "您的等级不足,阅读此贴需要等级达到" + str(thisfo.Frank) + ",您的当前等级为" + str(int(ans.crank)), res) review = [] allcomment = dataforum.query(COMMENT).filter(COMMENT.FID == FID).all() Len = len(allcomment) for i in range(Len): comment_man = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == allcomment[i].CID).first() temp_res = {} temp_res['COID'] = allcomment[i].COID #评论ID temp_res['Coinf'] = allcomment[i].COinf #评论信息 temp_res['comment_man_name'] = comment_man.Cname #评论者的名字 temp_res['comment_man_ID'] = comment_man.CID #评论者的ID temp_res['comment_date'] = time_change(allcomment[i].date) #评论的时间 review.append(temp_res) Author = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == thisfo.CID).first() mod = dataforum.query(MODULE).filter( MODULE.MOID == thisfo.MOID).first() thisfo.views = thisfo.views + 1 dataforum.commit() temp_people = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == thisfo.lastestUID).first() res['FID'] = thisfo.FID #论贴ID res['Finf'] = thisfo.Finf #论贴内容 res['good'] = str(thisfo.good) #点赞数量 res['CID'] = thisfo.CID #创建论贴的用户ID res['Frank'] = str(thisfo.Frank) #该论贴的级别 res["module_id"] = str(thisfo.MOID) #该论贴的所属模块ID res["title"] = thisfo.title #论贴标题 res['author'] = Author.Cname #论贴的作者名字 res['module_name'] = mod.MOname #论贴所属的模块名字 res['date'] = time_change(thisfo.date) #论贴的创建时间 res['views'] = thisfo.views #论贴的浏览次数 res['lastestUID'] = thisfo.lastestUID #最后一次评论的用户ID res['lastestTime'] = time_change(thisfo.date) #最后一次评论的时间 res['lastestname'] = Author.Cname #最后一次评论的人名 if (temp_people != None): #判断是否存在评论 res['lastestUID'] = thisfo.lastestUID #最后一次评论的用户ID res['lastestname'] = temp_people.Cname #最后一次评论的人名 res['lastestTime'] = time_change(thisfo.lastestTime) #最后一次评论的时间 answer.append(res) answer.append(review) dataforum.close() return jsonwrap(0, "success", answer) except Exception as e: error = {} return jsonwrap(10, "error", error)
def test_array(): return jsonwrap(0, "ok", res)
def customer_show(SID): try: res = [] ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').all() if ((len(ans) == 0)): return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(ADMINISTRATOR).filter( ADMINISTRATOR.AdID == '0').first() if (ans == None): return jsonwrap(1, "sid不存在", res) Aname = ans.Adname thissession = dataforum.query(SESSION).filter( SESSION.Cname == "root", SESSION.sid == SID).first() if (thissession == None): return jsonwrap(2, "Pelease Login again", res) thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() not_ban_customer = dataforum.query(CUSTOMER).filter( CUSTOMER.CID != '0', CUSTOMER.flag == 1).all() not_ban = [] ban = [] Len = len(not_ban_customer) for i in range(0, Len): customer = not_ban_customer[i] thread = { "ID": customer.CID, "Cname": customer.Cname, "rank": customer.crank, "flag": customer.flag, "lastTime": time_change(thisdt) } not_ban.append(thread) ban_customer = dataforum.query(CUSTOMER).filter( CUSTOMER.CID != '0', CUSTOMER.flag == 0).all() Len = len(ban_customer) for i in range(0, Len): customer = ban_customer[i] thread = { "ID": customer.CID, "Cname": customer.Cname, "rank": customer.crank, "flag": customer.flag, "lastTime": time_change(thisdt) } ban.append(thread) res.append(not_ban) res.append(ban) return jsonwrap(0, "ok", res) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def customerhome(SID): try: answer = [] res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID personq = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() if ((len(personq) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) person = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == CID_C).first() cname = person.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() res['cname'] = person.Cname #用户的姓名 res['password'] = person.passwd #用户的密码 res['rank'] = str(int(person.crank)) #用户的级别 allforum = dataforum.query(FORUM).filter(FORUM.CID == person.CID).all() Len = len(allforum) if (Len == 0): answer.append(res) dataforum.close() return jsonwrap(0, "success.", answer) post = [] for i in range(0, Len): tempfroum = allforum[i] temp = dataforum.query(MODULE).filter( MODULE.MOID == tempfroum.MOID).first() temp_people = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == tempfroum.lastestUID).first() mona = temp.MOname temp_res = {} temp_res["FID"] = tempfroum.FID #论贴的ID temp_res["Finf"] = tempfroum.Finf #论贴的内容 temp_res["Fgood"] = str(tempfroum.good) #论贴的点赞数目 temp_res["module_name"] = mona #论贴所属的板块名称 temp_res["title"] = tempfroum.title #论贴的标题 temp_res["cnumber"] = tempfroum.cnumber #论贴的评论数目 temp_res["date"] = time_change(tempfroum.date) #论贴发布的日期 temp_res["create_time"] = tempfroum.date #论贴创建的时间 temp_res["views"] = tempfroum.views #论贴浏览的次数 temp_res['lastestUID'] = tempfroum.lastestUID #最后一次评论的用户ID temp_res['lastestTime'] = time_change(tempfroum.date) #最后一次评论的时间 temp_res['lastestname'] = person.Cname #最后一次评论的人名 if (temp_people != None): #判断是否存在评论 temp_res['lastestUID'] = tempfroum.lastestUID #最后一次评论的用户ID temp_res['lastestname'] = temp_people.Cname #最后一次评论的人名 temp_res['lastestTime'] = time_change( tempfroum.lastestTime) #最后一次评论的时间 post.append(temp_res) answer.append(res) answer.append(post) dataforum.close() return jsonwrap(0, "success.", answer) except Exception as e: error = {} return jsonwrap(10, "error", error) finally: dataforum.commit() dataforum.close()
def home(SID): try: res=[] thissession = dataforum.query(SESSION).filter(SESSION.sid==SID).first() if (thissession==None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter(CUSTOMER.Cname==CNAME).first().CID ansp = dataforum.query(CUSTOMER).filter(CUSTOMER.CID==CID_C).all() if ((len(ansp)==0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) #=========================================================================== ans = dataforum.query(CUSTOMER).filter(CUSTOMER.CID==CID_C).first() cname = ans.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if(subdt>3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() sum = dataforum.query(FORUM).filter(FORUM.FID != "0000").count() allforum = dataforum.query(FORUM).filter(FORUM.FID != "0000").all() if (sum==0): return jsonwrap(8, "empty.", res) for i in range (0,sum): help = allforum[i] moid = help.MOID temp = dataforum.query(MODULE).filter(MODULE.MOID == moid).first() Author = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == help.CID).first() mona = temp.MOname temp_res = {} temp_res["module_name"] = mona #论贴所属的板块名称 temp_res["module_id"] = temp.MOID #论贴所属的板块ID temp_res["title"] = help.title #论贴的标题 temp_res["FID"] = help.FID #论贴的标题 temp_res["date"] = time_change(help.date) #论贴发布的日期 res.append(temp_res) dataforum.close() return jsonwrap(0, "success.", res) except Exception as e: error = {} return jsonwrap(10,"error",error) finally: dataforum.commit() dataforum.close()
def comment(SID, FID): try: res = {} thissession = dataforum.query(SESSION).filter( SESSION.sid == SID).first() if (thissession == None): dataforum.close() return jsonwrap(2, "Pelease Login again.", res) CNAME = thissession.Cname CID_C = dataforum.query(CUSTOMER).filter( CUSTOMER.Cname == CNAME).first().CID person = dataforum.query(CUSTOMER).filter(CUSTOMER.CID == CID_C).all() note = request.args.get('comment') if (note == '' or note == None): dataforum.close() return jsonwrap(8, "empty.", res) if ((len(person) == 0)): dataforum.close() return jsonwrap(1, "Pelease check again.", res) person = dataforum.query(CUSTOMER).filter( CUSTOMER.CID == CID_C).first() cname = person.Cname thisdt = thissession.dt nowdt = datetime.datetime.now() subdt = (nowdt - thisdt).seconds if (subdt > 3600): dataforum.delete(thissession) dataforum.commit() dataforum.close() return jsonwrap(3, "Pelease Login again.", res) thissession.dt = nowdt dataforum.commit() if (person.flag == 0): dataforum.close() return jsonwrap(4, "You are not allow to post.", res) ast = dataforum.query(COMMENT).all() sum = 1 ast_sum = len(ast) if (ast == None): a = 1 else: for i in range(ast_sum): if (sum <= return_int(ast[i].COID)): sum = return_int(ast[i].COID) + 1 newcomment = COMMENT(COID=str(sum), COinf=note, FID=FID, CID=CID_C, date=nowdt) dataforum.add(newcomment) dataforum.commit() person.crank = person.crank + 0.5 dataforum.commit() thisfo = dataforum.query(FORUM).filter(FORUM.FID == FID).first() thismo = dataforum.query(MODULE).filter( MODULE.MOID == thisfo.MOID).first() thisfo.cnumber = thisfo.cnumber + 1 thisfo.lastestUID = CID_C thisfo.lastestTime = nowdt dataforum.commit() res['COID'] = str(sum) #评论的ID res['COinf'] = note #评论的信息 res['FID'] = FID #评论的论贴ID res['CID'] = CID_C #评论者的ID res['Crank'] = str(int(person.crank)) #用户级别 res['Finf'] = thisfo.Finf #论贴信息 res['good'] = thisfo.good #论贴点赞数量 res['title'] = thisfo.title #论贴标题 res['Frank'] = thisfo.Frank #论贴级别 res['MOID'] = thismo.MOname #论贴所属模块的名字 dataforum.close() return jsonwrap(0, "success", res) except Exception as e: error = {} return jsonwrap(10, str(e), error) finally: dataforum.commit() dataforum.close()