def GET(self, username, p=1): u = users.get_user_by_username(username) profile = users.get_profile_by_user_id(u.id) page = int(p) perpage = 10 offset = (page - 1) * perpage posts = postModel.groupGetCreatedPostsByUserId(u.id, offset, perpage).list() nodeids = [] for i in xrange(len(posts)): nodeids += str(posts[i].nodeId).split() nodeList = [] for i in xrange(len(nodeids)): nodeList += nodeModel.getNodesByNodeId(nodeids[i]) authors = [] for i in xrange(len(nodeList)): authors += users.get_users_by_id(nodeList[i].node_author) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.member_node_contributed(u, profile, nodeList, authors),user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self, arg, p=1): node = nodeModel.getNodeByNodeId(arg) if node: timestrf = misc.timestrf page = int(p) perpage = 10 offset = (page - 1) * perpage node_author_info = users.get_user_by_id(node.node_author) postList = postModel.getPostListByNodeIdSortByScore(arg, offset, perpage).list() a = [] for post in postList: a += str(post.postAuthor).split() authors = [] for i in xrange(len(a)): authors += users.get_users_by_id(a[i]) #得到权限 if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = 0 notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.node_show(timestrf, rights, node, postList, node_author_info, user, authors, sort='interesting'), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()
def GET(self, username, p=1): u = users.get_user_by_username(username) print user if u: page = int(p) perpage = 5 offset = (page - 1) * perpage created_posts = postModel.getCreatedPostsByUserId(u.id, offset, perpage).list() nodes = [] for i in xrange(len(created_posts)): nodes += nodeModel.getNodesByNodeId(created_posts[i].nodeId) #得到资料 profile = users.get_profile_by_user_id(u.id) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.member_home(u, profile, created_posts, nodes, user), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()
def GET(self, username, p=1): u = users.get_user_by_username(username) profile = users.get_profile_by_user_id(u.id) page = int(p) perpage = 10 offset = (page - 1) * perpage nodeList = nodeModel.getCreatedNodesByUserId(u.id, offset, perpage).list() #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.member_node(u, profile, nodeList, user), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): # u = users.get_user_by_id(session.get_user_id()) # ut = u.nicknameChangeTime #得到上次修改昵称的时间 # c = datetime.datetime.now()#得到当前时间 # if (c - ut).days < 30: #时间差 # can_change_nickname = False # else: # can_change_nickname = True #得到权限 per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num #得到资料设置 profile = users.get_profile_by_user_id(user.id) #得到邮箱验证状态 confirm = users.get_confirm_email_by_douban_id(user.douban_id) return view.base(view.member_setting_profile(user, profile, confirm), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): date = datetime.datetime.today().strftime( "%a, %d %b %Y %H:%M:%S +0200") rec_posts = list( db.select('_admin_rec_home', where='pid', order="pid_sort")) postList = [] for i in xrange(len(rec_posts)): postList += postModel.getPostsByPostId(rec_posts[i].pid) authors = [] for i in xrange(len(postList)): authors += users.get_users_by_id(postList[i].postAuthor) nodes = [] for i in xrange(len(postList)): nodes += nodeModel.getNodesByNodeId(postList[i].nodeId) feed_url = "http://www.biubiubiubiu.com/feed" ishome = True node = None web.header('Content-Type', 'application/xml') return view.feed_index(node, postList, date, authors, nodes, feed_url, ishome)
def GET(self): # u = users.get_user_by_id(session.get_user_id()) # ut = u.nicknameChangeTime #得到上次修改昵称的时间 # c = datetime.datetime.now()#得到当前时间 # if (c - ut).days < 30: #时间差 # can_change_nickname = False # else: # can_change_nickname = True #得到权限 per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num #得到资料设置 profile = users.get_profile_by_user_id(user.id) #得到邮箱验证状态 confirm = users.get_confirm_email_by_douban_id(user.douban_id) return view.base(view.member_setting_profile(user, profile, confirm), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if rights > 1 : #管理员权限 #post rec_posts = admin.get_rec_posts() rec_nodes = admin.get_rec_nodes() #post postList = [] for i in xrange(len(rec_posts)): postList += postModel.getPostsByPostId(rec_posts[i].pid) a = [] for post in postList: a += str(post.postAuthor).split() post_authors = [] for i in xrange(len(a)): post_authors += users.get_users_by_id(a[i]) p= [] for post in postList: p += str(post.nodeId).split() post_nodes = [] for i in xrange(len(p)): post_nodes += nodeModel.getNodesByNodeId(p[i]) #node nodeList = [] for i in xrange(len(rec_nodes)): nodeList += nodeModel.getNodesByNodeId(rec_nodes[i].nid) n = [] for node in nodeList: n += str(node.node_author).split() node_authors = [] for i in xrange(len(n)): node_authors += users.get_users_by_id(n[i]) # if rec_nodes or rec_posts: return view.template_admin(view.admin_home(postList, post_authors, post_nodes, nodeList, node_authors)) else: raise web.notfound()
def GET(self, username, page_num): u = users.get_user_by_username(username) page = int(page_num) perpage = 5 offset = (page - 1) * perpage liked_pids = postModel.getLikedPostsByUserId(u.id, offset, perpage).list() liked_posts = [] for i in xrange(len(liked_pids)): liked_posts += postModel.getPostsByPostId(liked_pids[i].pid) authors = [] for i in xrange(len(liked_posts)): authors += users.get_users_by_id(liked_posts[i].postAuthor) nodes = [] for i in xrange(len(liked_posts)): nodes += nodeModel.getNodesByNodeId(liked_posts[i].nodeId) return view.post_list_member_like_more(u, liked_posts, nodes, authors)
def GET(self): date = datetime.datetime.today().strftime("%a, %d %b %Y %H:%M:%S +0200") rec_posts = list(db.select('_admin_rec_home', where='pid', order="pid_sort")) postList = [] for i in xrange(len(rec_posts)): postList += postModel.getPostsByPostId(rec_posts[i].pid) authors = [] for i in xrange(len(postList)): authors += users.get_users_by_id(postList[i].postAuthor) nodes = [] for i in xrange(len(postList)): nodes += nodeModel.getNodesByNodeId(postList[i].nodeId) feed_url="http://www.biubiubiubiu.com/feed" ishome = True node = None web.header('Content-Type', 'application/xml') return view.feed_index(node, postList, date, authors, nodes, feed_url, ishome)
def GET(self, arg, ntf_type=''): #ntf_type为提醒类型,用来让用户从提醒页面访问片段页面时可以看到对应提醒 post = postModel.getPostByPostId(arg) if post: post_author_info = users.get_user_by_id(post.postAuthor) node = nodeModel.getNodeByNodeId(post.nodeId) timestrf = misc.timestrf likers = postModel.get_voters_by_pid(post.id) likers_list = [] for i in xrange(len(likers)): likers_list += users.get_users_by_id(likers[i].uid) comments = postModel.get_comments_by_pid(post.id).list() commenters = [] for i in xrange(len(comments)): commenters += users.get_users_by_id(comments[i].uid) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #是否投过票 is_voted = postModel.is_voted(arg, user.id) #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) #获取提醒页面传过来的提醒类型参数 ntf_type = web.input(ntf_type='').ntf_type ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base( view.post_single(rights, node, post, post_author_info, user, timestrf, likers_list, comments, commenters, ntf_type, is_voted, misc), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()
def GET(self, arg, ntf_type=''): #ntf_type为提醒类型,用来让用户从提醒页面访问片段页面时可以看到对应提醒 post = postModel.getPostByPostId(arg) if post: post_author_info = users.get_user_by_id(post.postAuthor) node = nodeModel.getNodeByNodeId(post.nodeId) timestrf = misc.timestrf likers = postModel.get_voters_by_pid(post.id) likers_list = [] for i in xrange(len(likers)): likers_list += users.get_users_by_id(likers[i].uid) comments = postModel.get_comments_by_pid(post.id).list() commenters = [] for i in xrange(len(comments)): commenters += users.get_users_by_id(comments[i].uid) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #是否投过票 is_voted = postModel.is_voted(arg, user.id) #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) #获取提醒页面传过来的提醒类型参数 ntf_type = web.input(ntf_type='').ntf_type ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.post_single(rights, node, post, post_author_info, user, timestrf, likers_list, comments, commenters, ntf_type, is_voted, misc), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()
def GET(self): rec_nodes = admin.get_rec_nodes() nodeList = [] for node in rec_nodes: nodeList.extend(nodeModel.getNodesByNodeId(node.nid)) authors = [] for node in nodeList: authors.extend(users.get_users_by_id(node.node_author)) #得到最新的那个post lastest_posts = [] for node in nodeList: recent_post_in_node = postModel.getRecentOnePostsInNode(node.id) if recent_post_in_node: lastest_posts.extend(recent_post_in_node.creation_ts.timetuple()) #得到当前用户的权限 if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if users.is_user_exist_in_apply_log(user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for notify in ntf_list: ntf_posts.extend(postModel.getPostsByPostId(notify.pid)) ntf_users.extend(users.get_users_by_id(notify.uid)) for notify in mtf_list: mtf_posts.extend(postModel.getPostsByPostId(notify.pid)) mtf_users.extend(users.get_users_by_id(notify.uid)) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None apply_log = {} return view.base(view.recommend_nodes(nodeList, authors, user, rights, apply_log, lastest_posts, datetime), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): rec_nodes = admin.get_rec_nodes() nodeList = [] for i in xrange(len(rec_nodes)): nodeList += nodeModel.getNodesByNodeId(rec_nodes[i].nid) a = [] for node in nodeList: a += str(node.node_author).split() authors = [] for i in xrange(len(a)): authors += users.get_users_by_id(a[i]) #得到最新的那个post lastest_posts = [] for i in xrange(len(nodeList)): #如果没有,去取node的创建时间 if postModel.getRecentOnePostsInNode(nodeList[i].id): lastest_posts += str(time.mktime(postModel.getRecentOnePostsInNode(nodeList[i].id).creation_ts.timetuple())).split() else: lastest_posts += str(time.mktime(nodeModel.getNodeByNodeId(nodeList[i].id).creation_ts.timetuple())).split() #得到当前用户的权限 if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if users.is_user_exist_in_apply_log(user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None apply_log = {} return view.base(view.recommend_nodes(nodeList, authors, user, rights, apply_log, lastest_posts, datetime), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): # foo = web.cookies(cookieName=defaultValue) # foo.age #if user.is_logged: if True: # 全部开放 rec_posts = admin.get_rec_posts() postList = [] # if len(rec_posts) > 20: # map(lambda x:postList.extend(postModel.getPostsByPostId(x.pid)), rec_posts) # else: # postList = list(postModel.getRecent20Posts()) map(lambda x:postList.extend(postModel.getPostsByPostId(x.pid)), rec_posts) #postList = sort_dict_by_multi_key(postList, ['magnitude', 'creation_ts'], reverse=True) #postList = sorted(postList, key=lambda x:x.creation_ts, reverse=True) authors = [] map(lambda x:authors.extend(users.get_users_by_id(x)), [x.postAuthor for x in postList]) nodes = [] map(lambda x:nodes.extend(nodeModel.getNodesByNodeId(x)), [x.nodeId for x in postList]) if user.is_logged: rights = users.get_permission_by_douid(user.douban_id)[0].rights if users.is_user_exist_in_apply_log(user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for notify in ntf_list: ntf_posts.extend(postModel.getPostsByPostId(notify.pid)) ntf_users.extend(users.get_users_by_id(notify.uid)) for notify in mtf_list: mtf_posts.extend(postModel.getPostsByPostId(notify.pid)) mtf_users.extend(users.get_users_by_id(notify.uid)) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = None apply_log = None ntf_list = None notification_num = None ntf_posts = None ntf_users = None return view.base(view.recommend_posts(postList, authors, nodes, user, rights, apply_log, filter_tags), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: from config import db #得到上线时间距今多少天 t = time.strptime('2013-03-15 02:15:57', "%Y-%m-%d %X") ts = datetime.datetime(* t[:6]) delta = (datetime.datetime.now() - ts).days #得到用户数 user_count = int(db.select('users', what='count(distinct id) as c')[0].c) #得到话题数 node_count = int(db.select('_node', what='count(distinct id) as c')[0].c) #得到片段数 post_count = int(db.select('_post', what='count(distinct id) as c')[0].c) #得到喜欢数 vote_count = int(db.select('_post_vote_user', what='count(distinct id) as c')[0].c) #得到评论数 comm_count = int(db.select('_post_comments', what='count(distinct id) as c')[0].c) r = str(random.randint(1, 17)) return view.base01(view.landing(r, delta, user_count, node_count, post_count, vote_count, comm_count), siteName)
def GET(self): # if user.is_logged: rec_posts = admin.get_rec_posts() # if rec_posts: postList = [] for i in xrange(len(rec_posts)): postList += postModel.getPostsByPostId(rec_posts[i].pid) a = [] for post in postList: a += str(post.postAuthor).split() authors = [] for i in xrange(len(a)): authors += users.get_users_by_id(a[i]) n= [] for post in postList: n += str(post.nodeId).split() nodes = [] for i in xrange(len(n)): nodes += nodeModel.getNodesByNodeId(n[i]) if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if users.is_user_exist_in_apply_log(user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = None apply_log = None ntf_list = None notification_num = None ntf_posts = None ntf_users = None return view.base(view.recommend_posts(postList, authors, nodes, user, rights, apply_log), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): rec_nodes = admin.get_rec_nodes() nodeList = [] for i in xrange(len(rec_nodes)): nodeList += nodeModel.getNodesByNodeId(rec_nodes[i].nid) a = [] for node in nodeList: a += str(node.node_author).split() authors = [] for i in xrange(len(a)): authors += users.get_users_by_id(a[i]) #得到最新的那个post lastest_posts = [] for i in xrange(len(nodeList)): #如果没有,去取node的创建时间 if postModel.getRecentOnePostsInNode(nodeList[i].id): lastest_posts += str( time.mktime( postModel.getRecentOnePostsInNode( nodeList[i].id).creation_ts.timetuple())).split() else: lastest_posts += str( time.mktime( nodeModel.getNodeByNodeId( nodeList[i].id).creation_ts.timetuple())).split() #得到当前用户的权限 if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if users.is_user_exist_in_apply_log( user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num else: rights = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None apply_log = {} return view.base( view.recommend_nodes(nodeList, authors, user, rights, apply_log, lastest_posts, datetime), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self): # if user.is_logged: rec_posts = admin.get_rec_posts() # if rec_posts: postList = [] for i in xrange(len(rec_posts)): postList += postModel.getPostsByPostId(rec_posts[i].pid) a = [] for post in postList: a += str(post.postAuthor).split() authors = [] for i in xrange(len(a)): authors += users.get_users_by_id(a[i]) n = [] for post in postList: n += str(post.nodeId).split() nodes = [] for i in xrange(len(n)): nodes += nodeModel.getNodesByNodeId(n[i]) if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights if users.is_user_exist_in_apply_log( user.douban_id): #如果申请记录表中有此用户记录: apply_log = users.get_log_result(user.douban_id) else: apply_log = {} #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num else: rights = None apply_log = None ntf_list = None notification_num = None ntf_posts = None ntf_users = None return view.base( view.recommend_posts(postList, authors, nodes, user, rights, apply_log), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users)
def GET(self, username, p=1): u = users.get_user_by_username(username) if u: page = int(p) perpage = 5 offset = (page - 1) * perpage created_posts = postModel.getCreatedPostsByUserId(u.id, offset, perpage).list() nodes = [] for i in xrange(len(created_posts)): nodes += nodeModel.getNodesByNodeId(created_posts[i].nodeId) #得到资料 profile = users.get_profile_by_user_id(u.id) #note 跳转到豆瓣 # raise web.seeother('http://www.douban.com/people/'+ username) # pf = users.get_profile_by_user_id(u.id) # #得到上传的图片数 # results,num_results = image.query(u.id) # #得到喜欢的图片数 # fav_count = image.GetUserFavCount(u.id) # #得到用户上传的图片路径 # imagePath = image.get_paths_by_id(u.id).list() # paths = [] # for p in imagePath: # paths += p.path.split() # #得到图片id # imageIDs = image.get_imageID_by_id(u.id).list() # img_ids = [] # for i in imageIDs: # img_ids += str(i.id).split() # return view.base(view.member_home(u, pf, paths, img_ids, num_results, fav_count), user, siteName) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification(user.id) #得到@提醒 notification_mention_results, mention_num= notification.get_unread_metion_notifition(user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num+mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base(view.member_home(u, profile, created_posts, nodes, user, replace_breaks), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()
def GET(self, username, p=1): u = users.get_user_by_username(username) if u: page = int(p) perpage = 5 offset = (page - 1) * perpage liked_pids = postModel.getLikedPostsByUserId( u.id, offset, perpage).list() liked_posts = [] for i in xrange(len(liked_pids)): liked_posts += postModel.getPostsByPostId(liked_pids[i].pid) authors = [] for i in xrange(len(liked_posts)): authors += users.get_users_by_id(liked_posts[i].postAuthor) nodes = [] for i in xrange(len(liked_posts)): nodes += nodeModel.getNodesByNodeId(liked_posts[i].nodeId) #得到资料 profile = users.get_profile_by_user_id(u.id) #是否登录, if user.is_logged: per = users.get_permission_by_douid(user.douban_id) rights = per[0].rights #得到提醒 notification_results, notification_num = notification.get_unread_notification( user.id) #得到@提醒 notification_mention_results, mention_num = notification.get_unread_metion_notifition( user.id) #链表 得到提醒的详细id\名称等 ntf_posts = [] ntf_users = [] mtf_posts = [] mtf_users = [] ntf_list = notification_results.list() mtf_list = notification_mention_results.list() for x in xrange(len(ntf_list)): ntf_posts += postModel.getPostsByPostId(ntf_list[x].pid) ntf_users += users.get_users_by_id(ntf_list[x].uid) for x in xrange(len(mtf_list)): mtf_posts += postModel.getPostsByPostId(mtf_list[x].pid) mtf_users += users.get_users_by_id(mtf_list[x].uid) ntf_list = ntf_list + mtf_list ntf_posts = ntf_posts + mtf_posts ntf_users = ntf_users + mtf_users notification_num = notification_num + mention_num else: rights = 0 is_voted = None notification_results = None notification_num = None ntf_list = None ntf_posts = None ntf_users = None return view.base( view.member_favorite(u, profile, liked_posts, nodes, authors, user), user, siteName, rights, ntf_list, notification_num, ntf_posts, ntf_users) else: raise web.notfound()