def insert_user_image(self, list, uid): ''' Args: list:图片名字的数组 uid: 用户的ID Returns: ''' imids = self.insert(list) for i in range(len(imids)): image = UserImage(UIuid=uid, UIimid=imids[i], UIurl=list[i]) db = get_db() db.merge(image) db.commit()
def ac_Model_simply(clas, activity, retdata): '''得到简单活动模型 :return: retjson ''' auth = AuthKeyHandler() #get activityimg aclurl = get_db().query(WAcImage).filter( WAcImage.WACIacid == activity.WACid).all() Acurl = auth.download_url(aclurl[0].WACIurl) ac_simply_info = dict( WACid=activity.WACid, WACtitle=activity.WACtitle, Wacstatus=activity.WACstatus, WACimgurl=Acurl, WACcontent=activity.WACcontent[0:12], ) return ac_simply_info
def UHpicget(self, uid): img_tokens = [] authkeyhandler = AuthKeyHandler() imgs = get_db().query(UserHomepageimg).filter( UserHomepageimg.UHuser == uid, UserHomepageimg.UHpicvalid == 1).all() # 返回所有图片项 if imgs: print '有个人照片图片' for img in imgs: img_url = img.UHpicurl img_tokens.append( authkeyhandler.download_originpic_url( img_url)) # 裁剪?1200宽度 else: img_tokens = [] return img_tokens
def insert_Homepage_image(self, list, utel): try: db = get_db() usertel = db.query(User).filter(User.Utel == utel).one() HPimg = self.insert(list) for i in range(len(HPimg)): new_hpimg = Homepageimage( HPuser=usertel.Uid, HPUimage=HPimg[i], HPimgurl=list[i], HPimgvalid=True, ) db.merge(new_hpimg) db.commit() except Exception, e: print e
def delete_Homepage_image(self, list, uid): try: db = get_db() userinfo = db.query(User).filter(User.Uid == uid).one() for imageitem in list: try: imageitemurl = self.getpicurl(imageitem) deleteimage = db.query(UserHomepageimg).filter( UserHomepageimg.UHpicurl == imageitemurl, UserHomepageimg.UHuser == userinfo.Uid).one() deleteimage.UHpicvalid = 0 db.commit() except Exception, e: print e print '没有找到删除的图片' + imageitem except Exception, e: print e print 'the user doesn\'t exsit'
def UHpicgetassign(self, uid): img_tokens = [] authkeyhandler = AuthKeyHandler() imgs = get_db().query(UserHomepageimg).filter(UserHomepageimg.UHuser == uid, UserHomepageimg.UHpicvalid == 1).all() # 返回所有图片项 if imgs: print '有图片' for img in imgs: img_url = img.UHpicurl img_info = dict( imageUrl=authkeyhandler.download_abb_url(img_url), width=img.UHwidth/3, height=img.UHheight/3, ) img_tokens.append(img_info) else: img_tokens = [] return img_tokens
def insert_activity_image(self, list, ac_id): ''' Args: list: 图片的名字的数组 ac_id: 活动的ID Returns: ''' imids = self.insert(list) for i in range(len(imids)): image = ActivityImage(ACIacid=ac_id, ACIimid=imids[i], ACIurl=list[i]) db = get_db() db.merge(image) db.commit()
def detail_user_model(clas, user): user_img = get_db().query(UserImage).filter( UserImage.UIuid == user.Uid, UserImage.UIvalid == 1).one() auth = AuthKeyHandler() sex = '男' if user.Usex == 0: sex = '女' respond = dict( uid=user.Uid, ualais=user.Ualais, ucardnum=user.Ucardnum, ucollege=user.Ucollege, usex=sex, utel=user.Utel, uimage=auth.download_abb_url(user_img.UIurl), ) return respond
def ap_Model_simply_one(clas, appointment, userid): '''得到简单约拍模型,约拍列表 :param appointment: 传入一个appointment对象 :return: 返回单个约拍简单模型 ''' # todo:查找待变更为最新10个 liked = 0 try: likedentry = get_db().query(AppointLike).filter( AppointLike.ALuid == userid, AppointLike.ALapid == appointment.APid, AppointLike.ALvalid == 1).one() # 寻找是否点过赞 if likedentry: liked = 1 #print "点过赞", liked except Exception, e: print e liked = 0
def insert_appointment_image(self, list, ap_id): ''' Args: list: 图片名字的数组 ap_id: 约拍的ID Returns: ''' imids = self.insert(list) for i in range(len(imids)): image = AppointmentImage(APIapid=ap_id, APIimid=imids[i], APIurl=list[i]) db = get_db() db.merge(image) db.commit()
def wap_model_mutiple(self, wap, picurls, issp, isre, isco, userlist): ''' Args: wap: 约拍实例 picurls: 约拍的图片组 issp:是否是发布者 isre:是否报名 isco:是否被选择 Returns: ''' db = get_db() user = db.query(User).filter(User.Uid == wap.WAPsponsorid).one() u_alias = user.Ualais u_sex = user.Usex auth = AuthKeyHandler() picture_data = [] for pic in picurls: picture_data.append(auth.download_url(pic)) ret_ap = dict( title=wap.WAPtitle, content=wap.WAPcontent, picurl=picture_data, id=wap.WAPid, alias=u_alias, # detailurl='www.baidu.com' #当前传的是一个假的值 sponsorid=wap.WAPsponsorid, sex=int(u_sex), location=wap.WAPlocation, free=int(wap.WAPfree), time=wap.WAPtime, type=int(wap.WAPtype), registn=wap.WAPregistN, status=wap.WAPstatus, issponsorid=issp, isregist=isre, ischoosed=isco, user=userlist, ) return ret_ap
def change_Homepage_image(self, list, utel): #改变图片信息 try: db = get_db() usertel = db.query(User).filter(User.Utel == utel).one() for item in list: #如果有那么重置为1,如果没有就继续保持0 try: userimage = db.query(Homepageimage).filter( Homepageimage.HPuser == usertel.Uid, Homepageimage.HPimgurl == item).one() userimage.HPimgvalid = 1 db.commit() except Exception, e: #新的需要插入 print 'insert new Homepageimage' itemlist = [] itemlist.append(item) self.insert_Homepage_image(itemlist, utel) except Exception, e: print e print 'doesn\'t exsit'
def insert_companion_image(self, list, Companion_id): # 插入约拍伴侣图片 ''' Args: list: 图片的名字的数组 ac_id: 约拍伴侣的id Returns: ''' imagehandler = ImageHandler() imids = imagehandler.insert(list) for i in range(len(imids)): image = WApCompanionImage(WAPCid=Companion_id, WAPCimid=imids[i], WAPCurl=list[i], WAPCvalid=1) db = get_db() db.merge(image) db.commit()
def ap_get_imgs_from_apid(clas, appointmentid): ''' 得到某约拍的图片 Args: appointmentid: 约拍Id Returns:图片名数组 ''' img_tokens = [] authkeyhandler = AuthKeyHandler() try: imgs = get_db().query(AppointmentImage).filter( AppointmentImage.APIapid == appointmentid).all() # 返回所有图片项 for img in imgs: img_url = img.APIurl img_tokens.append( authkeyhandler.download_assign_url(img_url, 200, 200)) except Exception, e: print '无图片'
def UC_homepage_model(self, UCsample, uid): print '' authkeyhandler = AuthKeyHandler() # ucsample是一个UserCollection实例 ucimg = get_db().query(UserCollectionimg).filter(UserCollectionimg.UCIuser == UCsample.UCid, UserCollectionimg.UCIvalid == 1).all() if ucimg: coverurl = authkeyhandler.download_assign_url(ucimg[0].UCIurl, 200, 200) # 选取第一张作为封面(缩略图) img_info = coverurl, else: img_info = dict( imageUrl='', ) ret_uc = dict( UCid=UCsample.UCid, UCcreateT=UCsample.UCcreateT.strftime('%Y-%m-%d'), UCtitle=UCsample.UCtitle, UCimg=img_info, ) return ret_uc
def wd_model_multiply_one(self, wd, picurls): ''' 动态的一个简单model Args: wd: 动态的一个实例 picurl: 动态的图片地址(第一张) Returns:wd简单模型 ''' db = get_db() try: u_id = wd.WDsponsorid u_himg = db.query(UserImage).filter(UserImage.UIuid == u_id, UserImage.UIvalid == 1).one() himg_url = u_himg.UIurl auth = AuthKeyHandler() pic_urls = [] pic_urls_abb = [] user = db.query(User).filter(User.Uid == u_id, User.Uvalid == 1).one() u_alias = user.Ualais for picurl in picurls: pic_urls.append(auth.download_url(picurl.WDIurl)) pic_urls_abb.append( auth.download_assign_url(picurl.WDIurl, 100, 100)) ret_ap = dict( contents=wd.WDcontents, headimg=auth.download_abb_url(himg_url), uid=u_id, # detailurl='www.baidu.com' #当前传的是一个假的值 # sponsorid=wap.WAPsponsorid, alias=u_alias, did=wd.WDid, dimgs=pic_urls, dimgs_abb=pic_urls_abb, dtime=wd.WDcreateT.strftime('%Y-%m-%d %H:%M'), ) return ret_ap except Exception, e: print e
def insert(self, list): ''' 向数据库插入图片链接 :param list: 图片名的列表 :table: 应该插入的表名 :return: ''' db = get_db() new_imids = [] imid = '' for img_name in list: # 第一步,向Image里表里插入 image = Image(IMvalid=1, IMT=time.strftime('%Y-%m-%d %H:%M:%S'), IMname=img_name) db.merge(image) db.commit() new_imgs = db.query(Image).filter(Image.IMname == img_name).all() for new_img in new_imgs: imid = new_img.IMid new_imids.append(imid) return new_imids
def GetGroupId(cls): retdata = [] for x in range(5): apdata = {'type': '', 'apid': []} ap = get_db().query(Appointment).filter(Appointment.APgroup == x + 1).all() if x + 1 == 1: apdata['type'] = '写真客片' elif x + 1 == 2: apdata['type'] = '记录随拍' elif x + 1 == 3: apdata['type'] = '练手互免' elif x + 1 == 4: apdata['type'] = '活动跟拍' elif x + 1 == 5: apdata['type'] = '商业拍摄' for item in ap: apdata['apid'].append(item.APid) retdata.append(apdata) return retdata
def get_users_registlist_from_uids(userids): ''' 返回选择报名用户中用户详细模型 Args: userids: Returns: ''' users = [] for userid in userids: try: user = get_db().query( User.Uid, User.Ualais, User.Usign).filter(User.Uid == userid).one() new_user = dict( uid=user.Uid, ualais=user.Ualais, uimage=Ufuncs.get_user_headimage_intent_from_userid( user.Uid), usign=user.Usign) users.append(new_user) except Exception, e: print e, "找用户出现错误"
def UC_simple_model(self, UCsample, uid): authkeyhandler = AuthKeyHandler() # ucsample 是一个UserCollection实例 ucimg = get_db().query(UserCollectionimg).filter(UserCollectionimg.UCIuser == UCsample.UCid, UserCollectionimg.UCIvalid == 1).all() if ucimg: coverurl = authkeyhandler.download_url(ucimg[0].UCIurl) # 选取第一张作为封面(缩略图) img_info = dict( imageUrl=coverurl, width=ucimg[0].UCIwidth/2, height=ucimg[0].UCIheight/2, ) else: img_info = dict( imageUrl='', ) ret_uc = dict( UCid=UCsample.UCid, UCcreateT=UCsample.UCcreateT.strftime('%Y-%m-%d'), UCtitle=UCsample.UCtitle, UCimg=img_info, ) return ret_uc
def change_user_headimage(self, newimage, uid): db = get_db() images = db.query(UserImage).filter(UserImage.UIuid == uid).all() for image in images: image_id = image.UIimid im = db.query(Image).filter(Image.IMid == image_id).one() if im.IMvalid == 1: im.IMvalid = 0 db.commit() self.insert_user_image(newimage, uid) def insert_appointment_image(self, list, ap_id): ''' Args: list: 图片名字的数组 ap_id: 约拍的ID Returns: ''' imids = self.insert(list) for i in range(len(imids)): image = AppointmentImage(APIapid=ap_id, APIimid=imids[i], APIurl=list[i]) db = get_db() db.merge(image) db.commit() #print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) # timen = time.strftime('%Y-%m-%dT%H:%M:%S') # timeStamp = int(time.mktime(timen)) # print timeStamp
def wap_model_simply_one(self, wap, picurl): ''' Args: wap: 约拍的一个实例 picurl: 约拍图片的地址(第一张) Returns: wap简单模型 ''' db = get_db() try: status_item = wap.WAPstatus if(status_item == 3): status_item = 2 user = db.query(User).filter(User.Uid == wap.WAPsponsorid).one() u_alias = user.Ualais u_sex = user.Usex headimg = db.query(UserImage).filter(UserImage.UIuid == wap.WAPsponsorid,UserImage.UIvalid == 1).one() auth = AuthKeyHandler() ret_ap = dict( title=wap.WAPtitle, content=wap.WAPcontent[0:12], picurl=auth.download_abb_url(picurl), id=wap.WAPid, #detailurl='www.baidu.com' #当前传的是一个假的值 #sponsorid=wap.WAPsponsorid, alais=u_alias, sex=int(u_sex), type=int(wap.WAPtype), status = status_item, registn = wap.WAPregistN, headimg=auth.download_abb_url(headimg.UIurl) ) return ret_ap except Exception, e: print e
def wap_model_getchangeinfo(self, wap): ''' Args: wap:约拍实例 Returns: ''' db = get_db() pics = db.query(WApImage).filter(WApImage.WAPIapid == wap.WAPid, WApImage.WAPIvalid == 1).all() auth = AuthKeyHandler() picurls = [] keys = [] for pic in pics: picurls.append(auth.download_url(pic.WAPIurl)) keys.append(pic.WAPIurl) ret_ap = dict( contents=wap.WAPcontent, picurl=picurls, key=keys, ) return ret_ap
elif type == '10820': retjson = {'code': '', 'contents': ""} u_id = self.get_argument('uid') imgs = self.get_argument('imgs') auth_key = self.get_argument('authkey') uc_id = self.get_argument('ucid') try: userid = self.db.query(User).filter(User.Uid == u_id).one() key = userid.Uauthkey if key == auth_key: # 验证通过 print '作品集删除' \ '图片验证通过' ap_imgs_json = json.loads(imgs) imhandler = UserImgHandler() imhandler.delete_UserCollection_image(ap_imgs_json,uc_id) get_db().commit() retjson['code'] = '10820' retjson['contents'] = '数据库操作成功' else: retjson['code'] = '10821' retjson['contents'] = '认证失败' except Exception, e: print e retjson['code'] = '10821' retjson['contents'] = '未找到此用户' #删除作品集 elif type == '10826': retjson = {'code': '', 'contents': ""} u_id = self.get_argument('uid') auth_key = self.get_argument('authkey')
def isfriend(u1id, u2id): listofone = get_db().query(UserLike).filter(UserLike.ULlikeid == u1id, UserLike.ULvalid == 1).all() for item in listofone: if item.ULlikedid == u2id: return 1 return 0
# -*- coding:utf-8 -*- ''' @author: 兰威 ''' from Database.models import get_db from Database.tables import UserLike, ActivityLike, ActivityEntry, Activity, Verification, UCinfo, ActivityImage, \ AppointmentInfo, AppointEntry, AppointLike, Appointment, AppointmentImage, User, RankScore, CourseLike, Usercourse, \ UserImage, Image, Favorite db = get_db() items = db.query(Favorite).all() for item in items: db.delete(item) db.commit() items = db.query(UserLike).all() for item in items: db.delete(item) db.commit() items = db.query(ActivityLike).all() for item in items: db.delete(item) db.commit() items = db.query(ActivityEntry).all() for item in items: db.delete(item) db.commit() items = db.query(Verification).all() for item in items: db.delete(item)
这是作品集列表中------单条信息的返回 包括发布人的Model 上面的UC_simple_model暂时先不用 ''' def UC_login_model(self, UCsample, uid, useruid): # UCsample是一个UserCollection对象 authkeyhandler = AuthKeyHandler() # UserPublishModel:获取作品集发布人的model try: UserPublishModel = get_db().query(User).filter(User.Uid == uid).one() user_bir = UserPublishModel.Ubirthday.strftime('%Y') # 获取用户生日(年) now = time.strftime('%Y', time.localtime(time.time())) # 获取当前年份 user_age = int(now) - int(user_bir) # 用户年龄 except Exception, e: UserPublishModel = '' user_age = 0 print e # 单个作品集中前三张的图片(作为缩略图下载) 和所有图片(计算作品集图片个数) ucimg = get_db().query(UserCollectionimg).filter(UserCollectionimg.UCIuser == UCsample.UCid, UserCollectionimg.UCIvalid == 1).limit(3).all() ucimgnum = get_db().query(UserCollectionimg).filter(UserCollectionimg.UCIuser == UCsample.UCid, UserCollectionimg.UCIvalid == 1).all() try: userimgs = get_db().query(UserImage).filter(UserImage.UIuid == uid).order_by(desc(UserImage.UIimid)).all() # 用户头像 userimg = userimgs[0] gender = 0 if UserPublishModel.Usex == True: gender = 1 elif UserPublishModel.Usex == False: gender = 0 userheadimg = authkeyhandler.download_assign_url(userimg.UIurl, 200, 200) # 用户头像Url userpublish = dict( # 发布人的Model headImage=userheadimg, # 头像
def UCmodel(self, UCsample, uid, userid): # UCsample是一个UserCollection对象 authkeyhandler = AuthKeyHandler() img = [] imgsimple = [] ucimg = get_db().query(UserCollectionimg).filter( UserCollectionimg.UCIuser == UCsample.UCid, UserCollectionimg.UCIvalid == 1).all() for item in ucimg: ucimgurl = item.UCIurl img.append( authkeyhandler.download_originpic_url(ucimgurl)) # 大图url img_info = dict( imageUrl=authkeyhandler.download_abb_url(ucimgurl), width=item.UCIwidth / 6, height=item.UCIheight / 6, ) imgsimple.append(img_info) UserList = [] uclikepeople = get_db().query(UClike).filter(UClike.UClikeid == UCsample.UCid, UClike.UCLvalid == 1).\ limit(10).all() uclikepeoplenum = get_db().query(UClike).filter( UClike.UClikeid == UCsample.UCid, UClike.UCLvalid == 1).all() if uclikepeople: for item in uclikepeople: newid = item.UClikeUserid userimg = get_db().query(UserImage).filter( UserImage.UIuid == newid).order_by(desc( UserImage.UIimid)).all() UClikeModel = dict( id=newid, headImage=authkeyhandler.download_assign_url( userimg[0].UIurl, 200, 200)) UserList.append(UClikeModel) else: UserList = [] UClikeNum = 0 # 计算作品集点赞人数 if uclikepeoplenum: for item in uclikepeoplenum: UClikeNum += 1 else: UClikeNum = 0 # 是否已经点赞 like = get_db().query(UClike).filter(UClike.UClikeUserid == userid, UClike.UClikeid == UCsample.UCid, UClike.UCLvalid == 1).all() if like: isliked = 1 else: isliked = 0 ret_uc = dict( UCid=UCsample.UCid, UCuser=uid, UCcreateT=UCsample.UCcreateT.strftime('%Y-%m-%d'), UCtitle=UCsample.UCtitle, UCcontent=UCsample.UCcontent, UCimg=img, # 大图url UCsimpleimg=imgsimple, # 缩略图url UserlikeList=UserList, # 点赞人列表 UserlikeNum=UClikeNum, # 点赞人数 UserIsLiked=isliked, ) return ret_uc
AppointLike.ALuid == userid, AppointLike.ALapid == appointment.APid, AppointLike.ALvalid == 1).one() # 寻找是否点过赞 if likedentry: liked = 1 #print "点过赞", liked except Exception, e: print e liked = 0 # todo:userliked不对 #print '得到Url前' apimgurls = APmodelHandler.ap_get_imgs_from_apid(appointment.APid) headimage = Ufuncs.get_user_headimage_intent_from_userid( appointment.APsponsorid) user_id = appointment.APsponsorid # 创建者的id user = get_db().query(User).filter(User.Uid == user_id).one() user_bir = user.Ubirthday.strftime('%Y') # 获取用户生日(年) now = time.strftime('%Y', time.localtime(time.time())) # 获取当前年份 user_age = int(now) - int(user_bir) # 用户年龄 user_sex = ("男" if user.Usex else "女") ret_ap = dict( APid=appointment.APid, # APtitle=appointment.APtitle, APimgurl=apimgurls, APtime=appointment.APtime, # 这里我改过了。。。。 2017-4-7 兰威 apstartime APlikeN=appointment.APlikeN, APregistN=appointment.APregistN, Userimg=headimage, Userliked=liked, Userage=str(user_age) + "岁", Useralais=user.Ualais,