def update_category(self): inputs = self.get_input() if web.ctx.method == "GET": category_id = inputs.get("category_id") category = Categories.get_or_none(Categories.id == category_id) category_list = Categories.select().where(Categories.status == 0) self.private_data["category"] = category self.private_data["category_list"] = category_list return self.display("admin/update_category") else: category_id = inputs.get('category_id') name = inputs.get('name') desc = inputs.get('desc') parent_id = inputs.get("parent_id") category = Categories.get_or_none(Categories.id == category_id) try: category.update(name=name, description=desc, parent_id=parent_id). \ where(Categories.id == category_id).execute() self.private_data["create_success"] = True return web.seeother(self.make_url('category_list')) except Exception as e: log.error('update category failed %s' % traceback.format_exc()) log.error('input params %s' % inputs) self.private_data["update_success"] = False return self.display("admin/update_category")
def create_article(self): if web.ctx.method == "GET": category_list = Categories.select().where(Categories.status == 0) self.private_data["category_list"] = category_list return self.display("admin/create_article") else: inputs = self.get_input() title = inputs.get('name') content = inputs.get('content') summary = inputs.get("summary") category_id = inputs.get("category_id") source_url = inputs.get("source_url", "") keywords = str(inputs.get("keywords", "")).strip() image = Images.get_or_none() category = Categories.get_or_none(Categories.id == category_id) try: tags_list = keywords.split(",") if keywords else [] if tags_list: got_tags = Tags.select().where(Tags.name.in_(tags_list)) tmp_list = [] for tag in got_tags: tmp_list.append(tag.name) for tag_str in tags_list: if tag_str not in tmp_list: t = Tags(name=tag_str) t.save() db = TinyDB('settings/db.json') db.truncate() db.close() article = Articles(name=title, content=content, summary=summary, category=category, original_address=source_url, keywords=keywords, thumbnail=image) article.save() self.private_data["create_success"] = True return web.seeother(self.make_url('articles')) except Exception as e: log.error('create article failed %s' % traceback.format_exc()) log.error('input params %s' % inputs) self.private_data["create_success"] = False return self.display("admin/create_article")