Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
 def slug(self, slug):
     self._slug = slugify(slug)
Beispiel #6
0
def trans_slug():
    return jsonify({'slug': slugify(request.args['string'])})