示例#1
0
 def get(self):
     args = request.args
     course_id = args.get("id", 0)
     response = Response()
     offset = request.args.get("offset", current_app.config["PAGE_OFFSET"])
     offset = int(offset)
     default_url = os.path.join(current_app.config["MEDIA_URL"], "default_course.jpg")
     try:
         user_id = getattr(request, "user", {}).get("id")
         ret_list = fetchall_dict(SelectMap.course_list_by_page, (course_id, offset), GeneralObject)
         ret_json = []
         if user_id:
             for course in ret_list:
                 collect = fetchone_dict(SelectMap.collect_by_course_id, (course.id, user_id),
                                         GeneralObject)
                 course.is_collect = True if collect else False
                 course.collect_id = collect.id if collect else None
                 action = fetchone_dict(SelectMap.action_list_by_course_id, (course.id,), GeneralObject)
                 course.picture = action.picture if action else default_url
                 ret_json.append(course.data)
         else:
             for course in ret_list:
                 course.is_collect = False
                 course.collect_id = None
                 ret_json.append(course.data)
         response.data = {
             "course_list": ret_json, "count": len(ret_json),
             "query_id": ret_list[-1].id,
             "last_query_id": course_id, "page_offset": offset
         }
         return jsonify(response.dict_data)
     except Exception as e:
         init_key_error_handler(response, e, "错误:")
         return jsonify(response.dict_data)
示例#2
0
 def _comment_list(self, resp):
     user_id = request.args.get("id") or request.user["id"]
     blog_list = fetchall_dict(SelectMap.blog_list_comment,
                               (user_id, user_id), GeneralObject)
     if not blog_list:
         raise UserDoesNotExistException("数据不存在")
     self._init_info(blog_list, user_id)
     resp.data = {
         "blog_list": [blog.data for blog in blog_list],
         "count": len(blog_list)
     }
示例#3
0
 def _upper_list(self, resp):
     """
     取到当前对应id用户的所有的点赞过的blog
     """
     user_id = request.args.get("id") or request.user["id"]
     blog_list = fetchall_dict(SelectMap.blog_list_upper,
                               (user_id, user_id), GeneralObject)
     if not blog_list:
         raise UserDoesNotExistException("数据不存在")
     # self._init_info(blog_list, user_id)
     for blog in blog_list:
         self._set_comment_count(blog)
     resp.data = {
         "blog_list": [blog.data for blog in blog_list],
         "count": len(blog_list)
     }
示例#4
0
 def _back_list(self, response):
     _id = request.args.get("id", 0)
     offset = request.args.get("offset", current_app.config["PAGE_OFFSET"])
     offset = int(offset)
     blog_list = fetchall_dict(SelectMap.blog_list_by_id, (_id, offset),
                               GeneralObject)
     if blog_list:
         for blog in blog_list:
             self._set_comment_count(blog)
         response.data = {
             "blog_list": [blog.data for blog in blog_list],
             "query_id": blog_list[-1].id,
             "last_query_id": _id,
             "page_offset": offset,
             "count": len(blog_list)
         }
     else:
         raise UserDoesNotExistException("数据不存在")
示例#5
0
 def _circle_list(self, resp):
     """
     好友圈博客列表的接口
     """
     try:
         user_id = request.user["id"]
     except (AttributeError, KeyError):
         resp.data = {"msg": "失效的token"}
         resp.errno = 1
         resp.code = 405
         return
     blog_list = fetchall_dict(SelectMap.blog_list_circle,
                               (user_id, user_id), GeneralObject)
     if not blog_list:
         raise UserDoesNotExistException("暂无数据")
     for blog in blog_list:
         self._set_comment_count(blog)
     resp.data = {
         "blog_list": [blog.data for blog in blog_list],
         "count": len(blog_list)
     }
示例#6
0
 def _user_list(self, response):
     req = GeneralObject()
     resp = post(UserListValid, request.args, req)
     if resp is not None:
         response = resp
         return
     blog_id = getattr(resp, "blog_id", 0)
     offset = req.offset
     page = req.page
     blog_list = fetchall_dict(SelectMap.blog_list_by_user,
                               (req.id, blog_id,
                                (page - 1) * offset + 1, offset),
                               create_cmp_with_class(_lt))
     if blog_list:
         blog_list.sort()
         for blog in blog_list:
             self._set_comment_count(blog)
         response.data = {
             "blog_list": [blog.data for blog in blog_list],
             "count": len(blog_list),
             "page": page,
         }
     else:
         raise UserDoesNotExistException("数据不存在")