def update_article(article, data): if 'tag' in data: tags = [] tag_names = set(data['tag']) for tag_name in tag_names: tag = Tag.query.filter_by(name=tag_name).first() if tag is None: tag = Tag(name=tag_name, slug=slugify(tag_name)) db.session.add(tag) db.session.flush() tags.append(tag) article.tags = tags
def article_submit_edit_widget(slug, js_data, article): if slug == 'tag': tags = [] tag_names = [] for item in js_data: if item['name'] == 'tag_name': tag_names.append(item['value']) tag_names = set(tag_names) for tag_name in tag_names: tag = Tag.query.filter_by(name=tag_name).first() if tag is None: tag = Tag(name=tag_name, slug=slugify(tag_name)) db.session.add(tag) db.session.flush() tags.append(tag) article.tags = tags
def restore_tags(tags): restored_tags = [] for tag in tags: if type(tag) is str: tag = {'name': tag} t = Tag.query.filter_by(name=tag['name']).first() if t is None: t = Tag.create(name=tag['name'], slug=slugify(tag['name']), description=tag.get('description', '')) db.session.add(t) db.session.flush() else: if t.description is None or t.description == '': t.description = tag.get('description', '') restored_tags.append(t) db.session.flush() return restored_tags
def restore_categories(categories): restored_categories = [] for category in categories: if type(category) is str: category = {'name': category} c = Category.query.filter_by(name=category['name']).first() if c is None: c = Category.create(name=category['name'], slug=slugify(category['name']), description=category.get('description', '')) db.session.add(c) db.session.flush() else: if c.description is None or c.description == '': c.description = category.get('description', '') restored_categories.append(c) db.session.flush() return restored_categories
def slug(self, slug): self._slug = slugify(slug)
def trans_slug(): return jsonify({'slug': slugify(request.args['string'])})