Exemplo n.º 1
0
def create_tags(tag_list):
    from app.models import Tag
    result = False
    print('----------',tag_list)
    for tag in tag_list:
        t = Tag(name=tag)
        db.session.add(t)
    try:
        db.session.commit()
        result = True
    except Exception:
        db.session.rollback()
    return result
Exemplo n.º 2
0
    def test_user_is_deleted(self):
        u = User('*****@*****.**')

        tags = [
            Tag(tagname="Test Tag 1"),
            Tag(tagname="Test Tag 2"),
            Tag(tagname='Test Tag 3')
        ]

        ques = Question(body='test Question', user=u, tags=tags)

        db.session.add(ques)
        db.session.commit()

        db.session.delete(u)
        db.session.commit()

        u = User.query.all()
        self.assertFalse(u)  # User should be deleted

        q = Question.query.all()
        self.assertTrue(q)  # But the question shouldn't
Exemplo n.º 3
0
def fake_tags(count=10):
    records = Record.query.all()
    while True:
        try:
            for _ in range(count):
                tag = Tag(name=fake.word())
                tag.records = random.sample(records,
                                            k=random.randint(0, len(records)))
                db.session.add(tag)
            db.session.commit()
            break
        except IntegrityError:
            db.session.rollback()
            continue
Exemplo n.º 4
0
 def add_tag(self, tag_title, page_id):
     page = self.page(page_id=page_id)
     if tag_title in list(tag.title for tag in page.tags.all()):
         return None
     tag = None
     try:
         tag = Tag.objects.get(title=tag_title)
     except:
         tag = Tag(title=tag_title)
         tag.save()
     if page is not None and tag is not None:
         page.tags.add(tag)
         return tag
     return tag
Exemplo n.º 5
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag_count = Tag.query.filter_by(name=data["name"]).count()
        if tag_count == 1:
            flash("操作失败:标签已存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("操作成功!", "ok")
        return redirect(url_for("admin.tag_list", page=1))  # 跳转到标签列表(必须指定page)
    return render_template("admin/tag_add.html", form=form)
Exemplo n.º 6
0
def add_tags(tags):
    # list_t = []
    # for i in tags:
    #     # if exist
    #     t = Tag.query.filter_by(tag_name=i).first()
    #     if not t:
    #         t = Tag(tag_name=i)  # a new tag
    #         db.session.add(t)
    #     list_t.append(t)
    list_t = [(Tag.query.filter_by(tag_name=i).first() or Tag(tag_name=i))
              for i in tags]
    g.user.tags = list_t
    # db.session.bulk_save_objects(list_t)
    db.session.commit()
Exemplo n.º 7
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag == 1:
            flash("标签已经存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data['name'])
        db.session.add(tag)
        db.session.commit()
        flash("标签添加成功", "ok")
        redirect(url_for("admin.tag_add"))
    return render_template("admin/tag_add.html", form=form)
Exemplo n.º 8
0
def new_tag():
    tagForm = TagForm()
    if tagForm.validate_on_submit():
        tag = Tag(value=tagForm.value.data.upper())
        try:
            db.session.add(tag)
            db.session.commit()
            flash(f'Tag has been created!!', category='success')
            return redirect(url_for('posts.new_post'))
        except:
            flash(f'Tag Already Exists', category='warning')
            return redirect(url_for('posts.new_post'))
    flash(f'Could not create tag. Something went wrong.', category='error')
    return redirect(url_for('posts.new_post'))
Exemplo n.º 9
0
def new_a_tag():
    post_hash_id = request.json.get('post_id', False)
    name = request.json.get('name', False)
    tags = Tag.query.filter_by(name=name).filter_by(
        user_id=current_user.id).limit(1).all()
    if not tags:
        tag = Tag(name, user_id=current_user.id)
    else:
        tag = tags[0]
    post = Post.get_or_404(post_hash_id)
    if tag not in post.tags:
        post.tags.append(tag)
        db.session.commit()
    return jsonify({'id': tag.hash_id, 'name': tag.name})
Exemplo n.º 10
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        name = form.name.data
        tag = Tag.query.filter_by(name=name).count()
        if tag == 0:
            db.session.add(Tag(name=name))
            db.session.commit()
            flash("标签添加成功", category='ok')
            return redirect(url_for('admin.tag_add'))
        flash("该标签已经存在", category='err')
        return redirect(url_for("admin.tag_add"))

    return render_template('admin/tag_add.html', form=form)
Exemplo n.º 11
0
def tag_add():
    form = forms.TagForm()
    if form.validate_on_submit():  # post提交且有值
        data = form.data  # 获取提交的数据
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag == 1:
            flash('标签已经存在!', "err")
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加成功", "ok")
        redirect(url_for('admin.tag_add'))
    return render_template('admin/tag_add.html', form=form)
Exemplo n.º 12
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag == 1:
            flash('操作失败', 'err')
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data['name'])
        db.session.add(tag)
        db.session.commit()
        flash('操作成功', 'ok')
        return redirect(url_for('admin.tag_add'))
    return render_template('admin/tag_add.html', form=form)
Exemplo n.º 13
0
def addtag():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("标签已存在!", "err")
            return redirect(url_for("admin.addtag"))
        t = Tag(name=data["name"])
        db.session.add(t)
        db.session.commit()
        flash("添加标签成功!", "ok")
        return redirect(url_for("admin.addtag"))
    return render_template("admin/addtag.html", form=form)
    def post(self) -> dict:
        parser = reqparse.RequestParser()
        parser.add_argument("name",
                            type=str,
                            required=True,
                            help="No name provided")
        parser.add_argument("description", type=str)
        args = parser.parse_args()

        tag = Tag(name=args["name"], description=args["description"])
        db.session.add(tag)
        db.session.commit()

        return NestedResponse(schema=TagSchema).dump(tag)
Exemplo n.º 15
0
def get_tags_by_names(tag_names: List[str]) -> List[Tag]:
    """
    Возвращает список тэгов по списку названий тэгов
    :param tag_names: Список названий тэгов
    :return: Список тэгов
    """
    if not tag_names:
        return []

    # Поиск существующих тэгов и создание новых в случае отсутствия существующих
    tags = db.session.query(Tag).filter(Tag.name.in_(tag_names)).all()
    for tag_name in set(tag_names) - set(tag.name for tag in tags):
        tags.append(Tag(name=tag_name))
    return tags
Exemplo n.º 16
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        tag_data = form.data
        tag = Tag.query.filter_by(name=tag_data["tag_name"]).first()
        if tag:
            flash("标签已存在,请不要重复添加", "err")
            return redirect(url_for("admin.tag_add"))
        tags = Tag(name=tag_data["tag_name"])
        db.session.add(tags)
        flash("添加成功", "ok")
        db.session.commit()
        return redirect(url_for("admin.tag_add"))
    return render_template("hdmin/tag_add.html", form=form)
Exemplo n.º 17
0
 def publish(self, company):
     job = Job()
     self.populate_obj(job)
     job.job_company = company.id
     tags = self.tags.data.split(',')
     for tag_name in tags:
         tag = Tag.query.filter_by(tag_name=tag_name).first()
         if tag == None:
             tag = Tag()
             tag.tag_name = tag_name
         job.job_tag.append(tag)
     db.session.add(job)
     db.session.commit()
     return job
Exemplo n.º 18
0
def tag_add():
    tagForm = TagForm()
    if tagForm.validate_on_submit():
        data = tagForm.name.data
        tag = Tag.query.filter_by(name=data).count()
        if tag == 1:
            flash('标签名称已存在!', 'err')
            return redirect(url_for('admin_blueprint.tag_add'))
        tag = Tag(name=data)
        db.session.add(tag)
        db.session.commit()
        flash('添加标签成功', 'success')

    return render_template('admin/tag_add.html', tagForm=tagForm)
Exemplo n.º 19
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()  #不可以有重复标签
        if tag == 1:
            flash(u"标签已存在!", 'err')
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data["name"])
        db.session.add(tag)  #添加数据
        db.session.commit()  #提交数据
        flash(u"添加标签成功!", "OK")
        redirect(url_for('admin.tag_add'))
    return render_template("admin/tag_add.html", form=form)
Exemplo n.º 20
0
def idea(session) -> Idea:
    new_tag: Tag = Tag(title="raincoat")
    session.add(new_tag)

    new_idea: Idea = Idea(email="*****@*****.**",
                          code=str(uuid.uuid4()).upper().replace("-", "")[:10],
                          title="raincoat",
                          tag=[new_tag],
                          body="I have an idea about raincoat")

    session.add(new_idea)
    session.commit()

    return new_idea
Exemplo n.º 21
0
def manage_tags():

    form = TagForm()

    if form.validate_on_submit():
        new_tag = Tag(tagname=form.tagname.data.lower())
        current_user.tags.append(new_tag)
        db.session.commit()
        flash('New tag was added.', 'success')
        return redirect(url_for('settings.manage_tags'))

    return render_template('settings/tags.html',
                           title='Expense Tags',
                           form=form)
def add_temp(paper, tags, filenames, db, s3):

    if tags is not None:
        delimiters = ",", ";"
        regexPattern = '|'.join(map(re.escape, delimiters))

        ## Stripping whitespaces and making unique list
        tags = [s.lower().strip() for s in re.split(regexPattern, tags)]
        tags = [s for s in tags if (s is not '' and s is not None)]
        tags = list(set(tags))
        print(tags)

        for tag in tags:
            tag_obj = db.session.query(Tag).filter(Tag.tagname == tag).first()
            if tag_obj is None:
                tag_obj = Tag(tagname=tag)
            paper.tags.append(tag_obj)

    db.session.add(paper)
    db.session.flush()

    if filenames is not None:
        new_filenames = []
        fileurls = []

        for filename in filenames.split(","):
            filename = secure_filename(filename)
            new_filenames.append(filename)
            new_filename = '{}/{}'.format(
                paper.id,
                filename)  # updating the name with paper.id for easy access

            s3_url = "{0}/{1}/{2}".format(app.config['S3_ENDPOINT'],
                                          app.config['S3_BUCKET'],
                                          new_filename)

            s3.upload_file('{}/{}'.format(REPO_FOLDER, filename),
                           app.config['S3_BUCKET'], new_filename)
            fileurls.append(s3_url)

        print(new_filenames)
        print(s3_url)

        for filename, fileurl in zip(new_filenames, fileurls):
            paper.files.append(
                File(filename=filename, filetype='Other', fileurl=fileurl))

    db.session.flush()
    db.session.commit()
Exemplo n.º 23
0
def create_tag():
    """批量添加标签"""
    import pandas
    df = pandas.read_csv('movie.csv',
                         names=[
                             'name', 'logo', 'actors', 'release_time',
                             'detail_url', 'tag', 'area', 'length', 'info'
                         ])
    tags = df['tag'].unique()
    for tag in tags:
        if not Tag.query.filter_by(name=tag).first():
            tag = Tag(name=tag)
            db.session.add(tag)
            db.session.commit()
            print("添加标签%s成功" % (tag))
Exemplo n.º 24
0
 def create(self, validated_data):
     instance = super(ArticleSerializer, self).create(validated_data)
     text = validated_data.get('body_text', instance.body_text)
     tag_names = jieba.analyse.extract_tags(text, topK=3)
     article = Article.objects.filter(pk=instance.id).first()
     for tag_name in tag_names:
         tag = Tag.objects.filter(name=tag_name).first()
         if not tag:
             tag = Tag(name=tag_name)
             tag.save()
         tag.articles.add(article)
         tag.save()
         instance.tags.add(tag_name)
     instance.save()
     return instance
Exemplo n.º 25
0
def create_tag(subject_id, originator_id, text, publicity="public"):

    tag = Tag()
    tag.originator = originator_id
    tag.originator_slug = Person.query.filter(
        Person.id == originator_id)[0].slug
    tag.subject = subject_id
    tag.subject_slug = Person.query.filter(Person.id == subject_id)[0].slug
    tag.text = text
    label = create_label_from_tag(tag)
    db.session.add(label)
    tag.label = label.id
    tag.publicity = publicity
    tag.slug = tag.create_slug()
    return tag
Exemplo n.º 26
0
    def setUp(self):
        self.app = create_app('test')
        self.app_context = self.app.app_context()
        self.app_context.push()
        db.create_all()
        cate1 = Category(name='cate1')
        db.session.add(cate1)
        db.session.commit()

        cate2 = Category(name='cate2')
        cate2.parent = cate1
        db.session.add(cate2)
        db.session.commit()

        cate3 = Category(name='cate3')
        cate3.parent = cate2
        db.session.add(cate3)
        db.session.commit()

        tag1 = Tag(name='tag1')
        tag2 = Tag(name='tag2')
        tag3 = Tag(name='tag3')
        db.session.add_all([tag1, tag2, tag3])
        db.session.commit()
Exemplo n.º 27
0
def tag_add():
    tag_form = TagForm()
    if tag_form.validate_on_submit():
        data = tag_form.data
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag == 1:
            flash('标签已经存在!', 'error')
            return redirect(url_for('admin.tag_add'))
        else:
            tag_obj = Tag(name=data['name'])
            db.session.add(tag_obj)
            db.session.commit()
            flash('标签添加成功!', 'success')
            return redirect(url_for('admin.tag_list', page=1))
    return render_template('admin/tag_add.html', tag_form=tag_form)
Exemplo n.º 28
0
def create_users_movies_and_tags():

    # create three users
    monkey = User(name="monkey")
    monkey.set_password("monkeypassword")
    monkey.get_token()
    bella = User(name="bella")
    bella.set_password("bellapassword")
    bella.get_token()
    hazel = User(name="hazel")
    hazel.set_password("hazelpassword")
    hazel.get_token()
    # each user creates one movie
    movie_1 = Movie(slug="movie12019", title="Movie 1", year=2019, recommender_id=1)
    movie_2 = Movie(slug="movie22019", title="Movie 2", year=2019, recommender_id=2)
    movie_3 = Movie(slug="movie32019", title="Movie 3", year=2019, recommender_id=3)
    # create three tags
    action = Tag(name="Action")
    comedy = Tag(name="Comedy")
    documentary = Tag(name="Documentarty")

    db.session.add_all(
        [monkey, bella, hazel, movie_1, movie_2, movie_3, action, comedy, documentary]
    )
    db.session.commit()
    return (
        monkey,
        bella,
        hazel,
        movie_1,
        movie_2,
        movie_3,
        action,
        comedy,
        documentary,
    )
Exemplo n.º 29
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("名称已经存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功!", "ok")
        redirect(url_for("admin.tag_add"))
    print(form.name.errors)
    return render_template("admin/tag_add.html", form=form)
Exemplo n.º 30
0
def seed_tags():
    url = "https://api.rawg.io/api/genres"

    headers = {
        'key': os.environ.get('RAPIDAPI_KEY').strip(),
    }

    response = requests.request("GET", url, params=headers)

    json_data = json.loads(response.text)

    for res in json_data['results']:
        tag = Tag(name=res['name'])
        db.session.add(tag)
    db.session.commit()