コード例 #1
0
def api_browse_monsters(request, payload=None):
    """
    accepts posted json in the following format
    {'offset': 0, 'count': 9}

    returns client sanitized comment details
    """
    if not payload:
        payload = {'offset':0, 'count':9}

    offset = payload['offset']
    count = 9

    category = Category.get(name=MONSTER_GROUP)
    sort = 'new'

    nav = browse.Navigation.load_json_or_404(
        payload,
        sort=sort,
        category=category,
        mobile=request.is_mobile,
        replies_only=True,
        public_only=True,
        offset=payload['offset'],
        count=payload['count'],
    )

    data = {
        'monsters': mobile_details_from_queryset(browse.get_front_comments(request.user, nav)),
    }

    return data
コード例 #2
0
def suggested_threads():
    spotlighted_ids = SpotlightedThread.objects.all().values_list("comment_id", flat=True)

    nav = browse.Navigation(sort="hot", hot_sort_type="order_by_image_replies")
    ops = list(browse.get_front_comments(AnonymousUser(), nav))
    ops = [op for op in ops if op.id not in spotlighted_ids]
    ops = ops[:300]
    return [ThreadPreview.get_from_comment(op) for op in ops]
コード例 #3
0
ファイル: models.py プロジェクト: StetHD/canvas-2
 def public_posts(self):
     nav = browse.Navigation.load_json_or_404({
         'category': self.group,
         'offset': self.skip,
         'public_api': True,
         'sort': 'new',
     })
     posts = browse.get_front_comments(AnonymousUser(), nav)
     return [BriefPublicAPICommentDetails(x.details().to_dict()).to_client() for x in posts]
コード例 #4
0
def suggested_threads():
    spotlighted_ids = SpotlightedThread.objects.all().values_list('comment_id',
                                                                  flat=True)

    nav = browse.Navigation(sort='hot', hot_sort_type='order_by_image_replies')
    ops = list(browse.get_front_comments(AnonymousUser(), nav))
    ops = [op for op in ops if op.id not in spotlighted_ids]
    ops = ops[:300]
    return [ThreadPreview.get_from_comment(op) for op in ops]
コード例 #5
0
ファイル: test_models.py プロジェクト: StetHD/canvas-2
 def test_logged_out_best_everything_returns_enough_comments(self):
     with override_service('time', FakeTimeProvider):
         Services.time.t = time.mktime(self.TODAY.timetuple())
         for category in [Category.ALL] + list(Category.objects.all()):
             category.merge_top_scores()
         cmts = get_front_comments(AnonymousUser(), Navigation(sort='best',
                                                               offset=0,
                                                               year=2011,
                                                               category=Category.ALL))
         self.assertEqual(len(cmts), self.COMMENT_COUNT)
コード例 #6
0
ファイル: models.py プロジェクト: eiritana/canvas
 def public_posts(self):
     nav = browse.Navigation.load_json_or_404({
         'category': self.group,
         'offset': self.skip,
         'public_api': True,
         'sort': 'new',
     })
     posts = browse.get_front_comments(AnonymousUser(), nav)
     return [
         BriefPublicAPICommentDetails(x.details().to_dict()).to_client()
         for x in posts
     ]
コード例 #7
0
    def _digest_extra_context(self, notification):
        recipient = notification.recipient

        from canvas.models import Comment, Category
        from canvas.browse import get_front_comments, Navigation

        now = Services.time.today()
        nav = Navigation(category=Category.ALL, sort="top", offset=0, month=now.month, year=now.year)
        featured_comments = get_front_comments(recipient, nav)[: knobs.TWENTYFOUR_HOUR_EMAIL_COMMENT_COUNT]
        featured_comments = [cmt.details() for cmt in featured_comments]

        return {"recipient": recipient, "featured_comments": featured_comments}
コード例 #8
0
 def test_logged_out_best_everything_returns_enough_comments(self):
     with override_service('time', FakeTimeProvider):
         Services.time.t = time.mktime(self.TODAY.timetuple())
         for category in [Category.ALL] + list(Category.objects.all()):
             category.merge_top_scores()
         cmts = get_front_comments(
             AnonymousUser(),
             Navigation(sort='best',
                        offset=0,
                        year=2011,
                        category=Category.ALL))
         self.assertEqual(len(cmts), self.COMMENT_COUNT)
コード例 #9
0
    def _digest_extra_context(self, notification):
        recipient = notification.recipient

        from canvas.models import Comment, Category
        from canvas.browse import get_front_comments, Navigation
        now = Services.time.today()
        nav = Navigation(
            category=Category.ALL,
            sort='top',
            offset=0,
            month=now.month,
            year=now.year,
        )
        featured_comments = get_front_comments(
            recipient, nav)[:knobs.TWENTYFOUR_HOUR_EMAIL_COMMENT_COUNT]
        featured_comments = [cmt.details() for cmt in featured_comments]

        return {
            'recipient': recipient,
            'featured_comments': featured_comments,
        }