def api_update_tag(id, request, *, name, brief): check_admin(request) tag = yield from Tag.find(id) if not name or not name.strip(): raise APIValueError('name', 'name cannot be empty.') tag.name = name.strip() tag.brief = brief.strip() yield from tag.update() return tag
def api_papers(request, *, page='1'): check_admin(request) page_index = get_page_index(page) num = yield from Paper.findNumber('count(id)') p = Page(num, page_index) if num == 0: return dict(page=p, papers=()) papers = yield from Paper.findAll(orderBy='ctime desc', limit=(p.offset, p.limit)) for item in papers: tag = yield from Tag.find(item.tag) item.tag = tag.name return dict(page=p, papers=papers)
def api_delete_tag(request, *, id): check_admin(request) tag = yield from Tag.find(id) yield from tag.remove() return dict(id=id)
def api_get_tag(*, id): tag = yield from Tag.find(id) return tag