def on_put(self, req, resp, token): site = self.get_site(token) msg = json.load(req.stream) tid = msg.get('tid', 0) fid = msg.get('fid', 0) uid = msg.get('uid', 0) ip = msg.get('ip', 0) content = msg.get('content', None) if not tid or not uid or not ip or not content: raise falcon.HTTPBadRequest(config.HTTP_400, 'invalid params') if check_block(site.id, ip): logger.info('IP %s deny' % ip) raise falcon.HTTPForbidden(config.HTTP_403, 'ip %s deny' % ip) try: comment = create(site, tid, fid, uid, ip, content) except Exception: logger.exception('create comment') raise falcon.HTTPInternalServerError(config.HTTP_500, 'create comment failed') resp.status = falcon.HTTP_201 resp.stream = ijson.dump({'id': comment.id})
def render_comments(self, comments, fid=0): result = OrderedDict() for comment in comments: if comment.fid == fid: result[comment.id] = [self.render_comment(comment)] else: result[comment.fid].append(self.render_comment(comment)) return ijson.dump(result.values())
def on_get(self, req, resp): result = {'default_db':[], 'redis':[]} for k in dir(config): if k.startswith('DEFAULT_DB'): result['default_db'].append(getattr(config, k)) elif k.startswith('REDIS_'): result['redis'].append(getattr(config, k)) result['store'] = config.STORE resp.status = falcon.HTTP_200 resp.stream = ijson.dump(result)
def on_get(self, req, resp): token, page, params = self.parse_params(req, 'page') page = int(page) num = int(params.get('num', config.DEFAULT_PAGE_NUM)) if page < 1 or num < 0: raise falcon.HTTPBadRequest(config.HTTP_400, 'invalid params') site = self.get_site(token) blocks = get_blocks(site, site.blocks, page, num) resp.status = falcon.HTTP_200 resp.stream = ijson.dump([{'id':block.id, 'ip':block.ip, 'ctime':str(block.ctime)} for block in blocks])
def on_put(self, req, resp): token, ip, _ = self.parse_params(req) site = self.get_site(token) try: bip = block(site, ip) except Exception: logger.exception('create') raise falcon.HTTPInternalServerError(config.HTTP_500, 'create block failed') resp.status = falcon.HTTP_201 resp.stream = ijson.dump({'id': bip.id})
def on_get(self, req, resp, token): site = self.get_site(token) params = json.load(req.stream) ip = params.get('ip', None) tid = int(params.get('tid', -1)) if not ip: raise falcon.HTTPBadRequest(config.HTTP_400, 'invalid params') comments = get_comments_by_ip(site, ip, tid) resp.status = falcon.HTTP_200 resp.stream = ijson.dump([self.render_comment(comment) for comment in comments])
def on_put(self, req, resp): params = json.load(req.stream) if not params or not params.get('name'): raise falcon.HTTPBadRequest(config.HTTP_400, 'invalid params') token = uuid.uuid4().hex name = params.get('name') try: site = create(token, name) except Exception: logger.exception('create') raise falcon.HTTPInternalServerError(config.HTTP_500, 'create site failed') resp.status = falcon.HTTP_201 resp.stream = ijson.dump({'token': site.token})
def on_get(self, req, resp, token): site = self.get_site(token) params = json.load(req.stream) page = int(params.get('page', 0)) num = int(params.get('num', config.DEFAULT_PAGE_NUM)) fid = int(params.get('fid', -1)) if page < 1 or num < 0 or fid < 0: raise falcon.HTTPBadRequest(config.HTTP_400, 'invalid params') f_comment = get_comment_cached(site, fid) if not f_comment: raise falcon.HTTPNotFound() comments = get_comments_by_fid(site, f_comment.count, page, num, fid = f_comment.id) resp.status = falcon.HTTP_200 resp.stream = ijson.dump([self.render_comment(comment) for comment in comments])
def compare(self, a): self.assertEqual(''.join(ijson.dump(a)), json.dumps(a))
def on_get(self, req, resp, token): site = self.get_site(token) cids = self.get_cids(req) resp.status = falcon.HTTP_200 resp.stream = ijson.dump(dict(zip(cids, get_up_counts(site, cids))))