当前位置: 首页>>代码示例>>Python>>正文


Python queries.get_unread_subreddit_messages_multi函数代码示例

本文整理汇总了Python中r2.lib.db.queries.get_unread_subreddit_messages_multi函数的典型用法代码示例。如果您正苦于以下问题:Python get_unread_subreddit_messages_multi函数的具体用法?Python get_unread_subreddit_messages_multi怎么用?Python get_unread_subreddit_messages_multi使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_unread_subreddit_messages_multi函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: query

    def query(self):
        if self.where == 'messages':
            q = queries.get_inbox_messages(c.user)
        elif self.where == 'comments':
            q = queries.get_inbox_comments(c.user)
        elif self.where == 'selfreply':
            q = queries.get_inbox_selfreply(c.user)
        elif self.where == 'inbox':
            q = queries.get_inbox(c.user)
        elif self.where == 'unread':
            q = queries.get_unread_inbox(c.user)
        elif self.where == 'sent':
            q = queries.get_sent(c.user)
        elif self.where == 'multi' and self.subwhere == 'unread':
            q = queries.get_unread_subreddit_messages_multi(c.site.kept_sr_ids)
        elif self.where == 'moderator' and self.subwhere == 'unread':
            if c.default_sr:
                srids = Subreddit.reverse_moderator_ids(c.user)
                srs = [sr for sr in Subreddit._byID(srids, data=False,
                                                    return_dict=False)
                       if sr.is_moderator_with_perms(c.user, 'mail')]
                q = queries.get_unread_subreddit_messages_multi(srs)
            else:
                q = queries.get_unread_subreddit_messages(c.site)
        elif self.where in ('moderator', 'multi'):
            if self.mark != 'false':
                c.user.clear_moderator_message_count()

            # the query is handled by the builder on the moderator page
            return
        elif self.where == 'notifications':
            if self.mark != 'false':
                c.user.clear_notification_count()
            q = queries.get_unread_notifications(c.user)
        elif self.where == 'reset_message_counts':
            g.log.debug("resetting message count")
            c.user.message_count = 2
            c.user.moderator_message_count = 1
            c.user.notification_count = 7
            c.user._commit()

            q = queries.get_inbox(c.user)
        else:
            return self.abort404()

        # Clear the message count under most circumstances...
        if self.where not in ('sent', 'reset_message_counts', 'notifications'):
            if self.mark != 'false':
                c.user.clear_message_count()

        return q
开发者ID:new-day-international,项目名称:reddit,代码行数:51,代码来源:listingcontroller.py

示例2: query

    def query(self):
        if self.where == "messages":
            q = queries.get_inbox_messages(c.user)
        elif self.where == "comments":
            q = queries.get_inbox_comments(c.user)
        elif self.where == "selfreply":
            q = queries.get_inbox_selfreply(c.user)
        elif self.where == "mentions":
            q = queries.get_inbox_comment_mentions(c.user)
        elif self.where == "inbox":
            q = queries.get_inbox(c.user)
        elif self.where == "unread":
            q = queries.get_unread_inbox(c.user)
        elif self.where == "sent":
            q = queries.get_sent(c.user)
        elif self.where == "multi" and self.subwhere == "unread":
            q = queries.get_unread_subreddit_messages_multi(c.site.kept_sr_ids)
        elif self.where == "moderator" and self.subwhere == "unread":
            if c.default_sr:
                srids = Subreddit.reverse_moderator_ids(c.user)
                srs = [
                    sr
                    for sr in Subreddit._byID(srids, data=False, return_dict=False)
                    if sr.is_moderator_with_perms(c.user, "mail")
                ]
                q = queries.get_unread_subreddit_messages_multi(srs)
            else:
                q = queries.get_unread_subreddit_messages(c.site)
        elif self.where in ("moderator", "multi"):
            if c.have_mod_messages and self.mark != "false":
                c.have_mod_messages = False
                c.user.modmsgtime = False
                c.user._commit()
            # the query is handled by the builder on the moderator page
            return
        else:
            return self.abort404()
        if self.where != "sent":
            # reset the inbox
            if c.have_messages and self.mark != "false":
                c.have_messages = False
                c.user.msgtime = False
                c.user._commit()

        return q
开发者ID:kcchristianson,项目名称:reddit,代码行数:45,代码来源:listingcontroller.py

示例3: query

    def query(self):
        if self.where == 'messages':
            q = queries.get_inbox_messages(c.user)
        elif self.where == 'comments':
            q = queries.get_inbox_comments(c.user)
        elif self.where == 'selfreply':
            q = queries.get_inbox_selfreply(c.user)
        elif self.where == 'mentions':
            q = queries.get_inbox_comment_mentions(c.user)
        elif self.where == 'inbox':
            q = queries.get_inbox(c.user)
        elif self.where == 'unread':
            q = queries.get_unread_inbox(c.user)
        elif self.where == 'sent':
            q = queries.get_sent(c.user)
        elif self.where == 'multi' and self.subwhere == 'unread':
            q = queries.get_unread_subreddit_messages_multi(c.site.kept_sr_ids)
        elif self.where == 'moderator' and self.subwhere == 'unread':
            if c.default_sr:
                srids = Subreddit.reverse_moderator_ids(c.user)
                srs = [sr for sr in Subreddit._byID(srids, data=False,
                                                    return_dict=False)
                       if sr.is_moderator_with_perms(c.user, 'mail')]
                q = queries.get_unread_subreddit_messages_multi(srs)
            else:
                q = queries.get_unread_subreddit_messages(c.site)
        elif self.where in ('moderator', 'multi'):
            if c.have_mod_messages and self.mark != 'false':
                c.have_mod_messages = False
                c.user.modmsgtime = False
                c.user._commit()
            # the query is handled by the builder on the moderator page
            return
        else:
            return self.abort404()
        if self.where != 'sent':
            #reset the inbox
            if c.have_messages and self.mark != 'false':
                c.have_messages = False
                c.user.msgtime = False
                c.user._commit()

        return q
开发者ID:aburan28,项目名称:reddit,代码行数:43,代码来源:listingcontroller.py

示例4: add_props

    def add_props(cls, user, wrapped):
        from r2.lib.db import queries
        #TODO global-ish functions that shouldn't be here?
        #reset msgtime after this request
        msgtime = c.have_messages

        # make sure there is a sr_id set:
        for w in wrapped:
            if not hasattr(w, "sr_id"):
                w.sr_id = None

        # load the to fields if one exists
        to_ids = set(w.to_id for w in wrapped if w.to_id is not None)
        tos = Account._byID(to_ids, True) if to_ids else {}

        # load the subreddit field if one exists:
        sr_ids = set(w.sr_id for w in wrapped if w.sr_id is not None)
        m_subreddits = Subreddit._byID(sr_ids, data = True, return_dict = True)

        # load the links and their subreddits (if comment-as-message)
        links = Link._byID(set(l.link_id for l in wrapped if l.was_comment),
                           data = True,
                           return_dict = True)
        # subreddits of the links (for comment-as-message)
        l_subreddits = Subreddit._byID(set(l.sr_id for l in links.values()),
                                       data = True, return_dict = True)

        parents = Comment._byID(set(l.parent_id for l in wrapped
                                  if l.parent_id and l.was_comment),
                                data = True, return_dict = True)

        # load the unread list to determine message newness
        unread = set(queries.get_unread_inbox(user))

        msg_srs = set(m_subreddits[x.sr_id]
                      for x in wrapped if x.sr_id is not None
                      and isinstance(x.lookups[0], Message))
        # load the unread mod list for the same reason
        mod_unread = set(queries.get_unread_subreddit_messages_multi(msg_srs))

        for item in wrapped:
            item.to = tos.get(item.to_id)
            if item.sr_id:
                item.recipient = (item.author_id != c.user._id)
            else:
                item.recipient = (item.to_id == c.user._id)
            
            # new-ness is stored on the relation
            if item.author_id == c.user._id:
                item.new = False
            elif item._fullname in unread:
                item.new = True
                # wipe new messages if preferences say so, and this isn't a feed
                # and it is in the user's personal inbox
                if (item.new and c.user.pref_mark_messages_read
                    and c.extension not in ("rss", "xml", "api", "json")):
                    queries.set_unread(item.lookups[0],
                                       c.user, False)
            else:
                item.new = (item._fullname in mod_unread and not item.to_id)

            item.score_fmt = Score.none

            item.message_style = ""
            # comment as message:
            if item.was_comment:
                link = links[item.link_id]
                sr = l_subreddits[link.sr_id]
                item.to_collapse = False
                item.author_collapse = False
                item.link_title = link.title
                item.permalink = item.lookups[0].make_permalink(link, sr=sr)
                item.link_permalink = link.make_permalink(sr)
                if item.parent_id:
                    item.subject = _('comment reply')
                    item.message_style = "comment-reply"
                    parent = parents[item.parent_id]
                    item.parent = parent._fullname
                    item.parent_permalink = parent.make_permalink(link, sr)
                else:
                    item.subject = _('post reply')
                    item.message_style = "post-reply"
            elif item.sr_id is not None:
                item.subreddit = m_subreddits[item.sr_id]
            
            item.hide_author = False
            if getattr(item, "from_sr", False):
                if not (item.subreddit.is_moderator(c.user) or
                        c.user_is_admin):
                    item.author = item.subreddit
                    item.hide_author = True
            
            item.is_collapsed = None
            if not item.new:
                if item.recipient:
                    item.is_collapsed = item.to_collapse
                if item.author_id == c.user._id:
                    item.is_collapsed = item.author_collapse
                if c.user.pref_collapse_read_messages:
                    item.is_collapsed = (item.is_collapsed is not False)
#.........这里部分代码省略.........
开发者ID:nitzle,项目名称:reddit,代码行数:101,代码来源:link.py


注:本文中的r2.lib.db.queries.get_unread_subreddit_messages_multi函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。