Ejemplo n.º 1
0
 def get(self):
     page = self.get_argument("page", 1)
     per_page = self.get_argument("per_page", 10)
     per_page = int(per_page)
     page = int(page)
     entity_type = self.get_argument("entity_type", 'share')
     user_id = self.current_user["user_id"]
     assert entity_type in 'share comment viewpoint'.split()
     cond = {
         'user_id': user_id,
         'entity_type': entity_type,
         'collectnum': 1,
     }
     number = Collect.find(cond, {'_id': 0}).count()
     collects = Collect.find(cond, {'_id': 0}).sort(
         '_id', -1).limit(per_page).skip((page - 1) * per_page)
     res = []
     print(collects.count())
     for collect in collects:
         # 'status': {'$gte': 1},
         share = Share.find_one({'id': collect.id}, {'_id': 0})
         share = fix_share(share)
         res.append(share)
     self.res = res
     return self.write_json(number=number)
Ejemplo n.º 2
0
 def get(self):
     page = self.get_argument("page", 1)
     per_page = self.get_argument("per_page", 10)
     per_page = int(per_page)
     page = int(page)
     entity_type = self.get_argument("entity_type", 'share')
     user_id = self.current_user["user_id"]
     assert entity_type in 'share comment viewpoint'.split()
     cond = {
         'user_id': user_id,
         'entity_type': entity_type,
         'likenum': 1,
     }
     # number = Like.find(cond, {'_id': 0}).count()
     collects = Like.find(cond, {
         '_id': 0
     }).sort('_id', -1).limit(per_page).skip((page - 1) * per_page)
     res = []
     for collect in collects:
         # 'status': {'$gte': 1},
         share = Share.find_one({'id': collect.id}, {'_id': 0})
         share = fix_share(share)
         res.append(share)
     self.res = {'articles': res}
     # number=number
     return self.write_json()
Ejemplo n.º 3
0
    def get(self, name=None):
        if not name:
            tags = Tag.find()
            self.render("tag.html", tags=tags)
        else:
            tag = Tag.find_one({'name': name})
            shares = []
            share_ids = tag.share_ids.split(' ')
            share_ids = list(set(share_ids))
            cond = {}
            cond['_id'] = 0
            cond['id'] = 1
            cond['user_id'] = 1
            cond['published'] = 1
            cond['sharetype'] = 1
            cond['title'] = 1
            cond['commentnum'] = 1

            for share_id in share_ids:
                # share = Share.by_sid(share_id)
                share = Share.find_one({'id': int(share_id)}, cond)
                print(share)
                # <!-- <p class="info">{{ escape(share.markdown) }} ...</p> -->
                user = User.by_sid(share.user_id)
                share.user_name = user.user_name
                share.user_domain = user.user_domain
                share.published = time.strftime(
                    '%Y-%m-%d %H:%M:%S', time.localtime(share.published))
                # share.markdown = filter_tags(
                #     markdown2.markdown(share.markdown))[:100]
                shares.append(share)
            self.render("tage.html", tag=tag, name=name, shares=shares)
Ejemplo n.º 4
0
    def get(self):
        page = self.get_argument("page", 1)
        per_page = self.get_argument("per_page", 10)
        per_page = int(per_page)
        page = int(page)
        entity_type = self.get_argument("entity_type", 'share')
        user_id = self.current_user["user_id"]
        assert entity_type in 'share comment viewpoint'.split()

        # token = self.request.headers.get('Authorization', '')
        # user = self.get_user_dict(token)
        meta_info = self.get_argument("meta_info", 1)

        cond = {
            'user_id': user_id,
            'entity_type': entity_type,
            'likenum': 1,
        }

        likes = Like.find(cond, {
            '_id': 0
        }).sort('_id', -1).limit(per_page).skip((page - 1) * per_page)
        new_shares = []

        filter_d = {}
        filter_d['_id'] = 0
        # 白名单里的属性才展示
        filter_d['id'] = 1
        filter_d['images'] = 1
        filter_d['title'] = 1
        filter_d['user_id'] = 1
        filter_d['tags'] = 1
        filter_d['published'] = 1
        filter_d['post_img'] = 1
        for like in likes:
            # 'status': {'$gte': 1},  {'_id': 0}
            share = Share.find_one({'id': like.id}, filter_d)
            user = User.by_sid(share.user_id)
            share['author'] = user.user_name

            share['type'] = 1
            if share.get('post_img'):
                share['type'] = 2
                share['images'] = [
                    IMG_BASE +
                    share['post_img'].replace('_1200.jpg', '_260.jpg')
                ]
                share.pop('post_img')
            else:
                share['images'] = []
            share['published'] = int(share['published'] * 1000)
            new_shares.append(share)

        if meta_info:
            meta = {}
            number = Like.find(cond, {'_id': 0}).count()
            meta['number'] = number

        self.res = {'articles': new_shares}
        self.meta = meta
        return self.write_json()