Exemple #1
0
    def respond(self, club=None, tag=None):
        f = [("date", -1)]

        user = yield self.get_auth_user()

        regions = self.regions()
        req = BnwWebRequest(user, regions)

        page = get_page(self)
        qdict = {}
        if tag:
            tag = tornado.escape.url_unescape(tag, plus=False)
            qdict['tags'] = tag
        if club:
            club = tornado.escape.url_unescape(club, plus=False)
            qdict['clubs'] = club
        result = yield cmd_show(req,
                                page=str(page),
                                club=club,
                                tag=tag,
                                use_bl=True)
        if not result['ok']:
            self.set_status(400)
            defer.returnValue(result['desc'])

        hasmes = yield is_hasmes(qdict, page)
        uc = (yield objs.User.count())
        format = self.get_argument("format", "")
        active = int(
            (yield
             objs.User.count({'last_activity': {
                 '$gt': time.time() - 30 * 60
             }})))

        self.set_header("Cache-Control", "max-age=1")
        if format == 'rss':
            self.set_header("Content-Type",
                            'application/rss+xml; charset=UTF-8')
            if self.request.protocol == "https":
                base = bnw.core.base.get_https_webui_base()
            else:
                base = bnw.core.base.get_http_webui_base()
            defer.returnValue(
                rss.message_feed(result['messages'],
                                 link=base,
                                 title='Коллективное бессознательное BnW'))
        else:
            tagres = yield cmd_tags(req)
            toptags = tagres['tags'] if tagres['ok'] else []
            result['messages'].reverse()
            defer.returnValue({
                'messages': result['messages'],
                'toptags': toptags,
                'users_count': int(uc),
                'active': active,
                'page': page,
                'tag': tag,
                'club': club,
                'hasmes': hasmes,
            })
Exemple #2
0
 def respond(self, msgid):
     user = yield self.get_auth_user()
     req = BnwWebRequest(user, self.regions())
     result = yield cmd_show(req, message=msgid, replies=True, use_bl=True)
     if not result['ok']:
         self.set_status(404)
         defer.returnValue({
             'msgid': msgid,
             'msg': None,
             'auth_user': user,
             'comments': [],
             'is_subscribed': None,
         })
     if user:
         is_subscribed = yield objs.Subscription.count({
             'user': user['name'],
             'type': 'sub_message',
             'target': msgid,
         })
     else:
         is_subscribed = False
     self.set_header("Cache-Control", "max-age=5")
     defer.returnValue({
         'msgid': msgid,
         'msg': result['message'],
         'auth_user': user,
         'comments': result['replies'],
         'is_subscribed': is_subscribed,
     })
Exemple #3
0
 def respond(self, msgid):
     user = yield self.get_auth_user()
     req = BnwWebRequest(user, self.regions())
     result = yield cmd_show(req, message=msgid, replies=True, use_bl=True)
     if not result['ok']:
         self.set_status(404)
         defer.returnValue({
             'msgid': msgid,
             'msg': None,
             'auth_user': user,
             'comments': [],
             'is_subscribed': None,
         })
     if user:
         is_subscribed = yield objs.Subscription.count({
             'user': user['name'],
             'type': 'sub_message',
             'target': msgid,
         })
     else:
         is_subscribed = False
     self.set_header("Cache-Control", "max-age=5")
     defer.returnValue({
         'msgid': msgid,
         'msg': result['message'],
         'auth_user': user,
         'comments': result['replies'],
         'is_subscribed': is_subscribed,
     })
Exemple #4
0
    def respond(self, club=None, tag=None):
        f = [("date", -1)]

        user = yield self.get_auth_user()

        regions = self.regions()
        req = BnwWebRequest(user, regions)


        page = get_page(self)
        qdict = {}
        if tag:
            tag = tornado.escape.url_unescape(tag, plus=False)
            qdict['tags'] = tag
        if club:
            club = tornado.escape.url_unescape(club, plus=False)
            qdict['clubs'] = club
        result = yield cmd_show(req, page=str(page), club=club, tag=tag, use_bl=True)
        if not result['ok']:
            self.set_status(400)
            defer.returnValue(result['desc'])

        hasmes = yield is_hasmes(qdict, page)
        uc = (yield objs.User.count())
        format = self.get_argument("format", "")
        active = int((yield objs.User.count({'last_activity': {'$gt': time.time()-30*60}})))

        self.set_header("Cache-Control", "max-age=1")
        if format == 'rss':
            self.set_header(
                "Content-Type", 'application/rss+xml; charset=UTF-8')
            if self.request.protocol == "https":
                base = bnw.core.base.get_https_webui_base()
            else:
                base = bnw.core.base.get_http_webui_base()
            defer.returnValue(
                rss.message_feed(
                    result['messages'], link=base,
                    title='Коллективное бессознательное BnW'))
        else:
            tagres = yield cmd_tags(req)
            toptags = tagres['tags'] if tagres['ok'] else []
            result['messages'].reverse()
            defer.returnValue({
                'messages': result['messages'],
                'toptags': toptags,
                'users_count': int(uc),
                'active': active,
                'page': page,
                'tag': tag,
                'club': club,
                'hasmes': hasmes,
            })