def api_add_friend(): current_user = ctx.request.user current_peerlist = PeerList.find_first("where t_uid=?", current_user.t_uid) i = ctx.request.input(email="") target_email = valid_secure_data(i.email) if not target_email: raise APIValueError("email", "Empty email address") target_user = User.find_first("where t_emailaddr=?", target_email) if target_user is None: raise APIValueError("email", "User doesn't exist.") current_peerlist.t_friends += ";" + str(target_user.t_uid) current_peerlist.update() return dict()
def api_get_friendlist(): current_user = ctx.request.user friends_dataobj = PeerList.find_first("where t_uid=?", current_user.t_uid) friends_str = friends_dataobj.t_friends flist = re.split(";", friends_str) count = len(flist) page = Page(count, _get_page_index(), page_size=5) friends = list() for uid in flist: u = User.find_first("where t_uid=? order by t_uid desc limit ?,?", uid, page.offset, page.limit) if u is None: continue friends.append(u) return dict(user=current_user, friends=friends, page=page)