예제 #1
0
def tag_update(id):
    tag_name = db.tag_select_by_id(id)['name']
    form = TagForm(tag_id=id, tag_name=tag_name)

    if form.validate_on_submit():
        if form.tag_submit.data:
            response = db.tag_update_one(id, form.tag_name.data)

            if response:
                flash(response, 'error')
            else:
                flash('Successful UPDATE', 'message')

            return redirect(url_for('tag_update', id=id))

        elif form.tag_delete.data:
            response = db.tag_delete_one(id)

            if response:
                flash(response, 'error')
            else:
                flash('Successful DELETE', 'message')

            return redirect(url_for('tag'))

    flash_validation_errors(form)

    return render_template('form_tag_update.html', form=form)
예제 #2
0
def blog_add(request):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            for taglist in tagname.split():
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            author = Author.objects.get(id=1)
            content = cd['content']
            blog = Blog(caption=title, author=author, content=content)
            blog.save()
            for taglist in tagname.split():
                blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                blog.save()
            id = Blog.objects.order_by('-publish_time')[0].id
            return HttpResponseRedirect('blog/%s' % id)
    else:
        form = BlogForm()
        tag = TagForm(initial={'tag_name': 'notags'})
    return render_to_response('blog_add.html',
        {'form': form, 'tag': tag}, context_instance=RequestContext(request))
예제 #3
0
def tag_edit_post(request, id='0', cxt={}):
    assert request.method == 'POST'
    cxt.update(csrf(request))
    tag = Tag.objects.get(id=int(id))
    initial = {
        'name': tag.name,
        'color': tag.color
    }
    tag_form = TagForm(request.POST, initial=initial)
    cxt.update({'tag_form': tag_form, 'tag': tag})
    if tag_form.is_valid():
        data = tag_form.cleaned_data
        tag_name = data['name'].lower()
        if 'name' in tag_form.changed_data:
            if Tag.objects.filter(name=tag_name):
                tag_form.add_error('name', 'Duplicated Tag Name')
            else:
                Tag.objects.filter(id=int(id)).update(
                    name=tag_name,
                    color='#' + data['color'][-6:]
                )
        else:
            Tag.objects.filter(id=id).update(
                color='#' + data['color'][-6:]
            )
    return render_to_response('tag_edit.html', cxt)
예제 #4
0
파일: views.py 프로젝트: adarshk7/wtblog
def new_tag():
	form = TagForm()
	if form.validate_on_submit():
		flash('Tag with name %r created successfully!' % (form.name.data))
		new_tag = models.Tag(name=form.name.data)
		db.session.add(new_tag)
		db.session.commit()
		return redirect('/admin/new_tag')
	return render_template('new_tag.html', title="New Tag - Admin", form=form, user=current_user)
예제 #5
0
파일: views.py 프로젝트: jukellok/mybloki
def add_tag():
    form = TagForm(request.form)
    if not form.validate():
        flash('Tag name not valid')
    else:
        item = Tag(request.form['tag'])
        db.session.add(item)
        db.session.commit()
        flash('New tag created')
    return redirect(url_for('edit_tags'))
예제 #6
0
파일: views.py 프로젝트: adarshk7/wtblog
def edit_tag(name):
	form = TagForm()
	if form.validate_on_submit():
		tag = db.session.query(models.Tag).filter_by(name=name).one()
		tag.name = form.name.data
		db.session.commit()
		flash('Tag with name %r changed to %r successfully!' % (name, form.name.data))
		return redirect('/admin')
	form.name.data = name
	return render_template('new_tag.html', title="Edit Tag - Admin", form=form, user=current_user)
예제 #7
0
def tagadd(request):
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred.views.list'))
    else:
        form = TagForm()

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #8
0
파일: views.py 프로젝트: jpoa/RatticWeb
def tagadd(request):
    if request.method == "POST":
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse("cred.views.list"))
    else:
        form = TagForm()

    return render(request, "cred_tagedit.html", {"form": form})
예제 #9
0
파일: views.py 프로젝트: CaptainBerg/Todo
def addtag():
    form = TagForm()
    if form.validate_on_submit():
        tag_content = form.tag_content.data
        tag = Tag(tag_content=tag_content)
        form_todo=TodoForm()
        form_todo.select_tag.choices+=[(tag.tag_content,tag.tag_content)]
        db.session.add(tag)
        return redirect(url_for('addtag'))
    alltags = Tag.query.all()
    return render_template("addtag.html", alltags=alltags,form=form)
예제 #10
0
def add_tag(item_id):
    form = TagForm()
    if form.validate_on_submit():
        addtag = tag(tagged=form.tagged.data,
                     tagger=current_user.get_id(),
                     item_id=item_id)
        db.session.add(addtag)
        db.session.commit()
        flash('Your Tag is submitted. Waiting on Approval', 'Success')
        return redirect(url_for('home'))
    return render_template('add_tagging.html', title='New Tag', form=form)
예제 #11
0
def submit_tag_form():
    form = TagForm()

    #TODO: This conditional seems to always == else
    if form.validate_on_submit():
        return redirect('/success')
    else:
        print 'record updating...'
        print 'Form Data: %s' % request.form.get('name')
        print 'Form Data: %s' % request.form
        return render_template('submit.html', form=form)
예제 #12
0
def tagedit(request, tag_id):
    tag = get_object_or_404(Tag, pk=tag_id)
    if request.method == 'POST':
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred.views.list'))
    else:
        form = TagForm(instance=tag)

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #13
0
def edit_tag(t_id):
    tag = get_tag(t_id)
    form = TagForm(tag=tag['tag'], parent=tag['parent'])

    form.set_choices()

    if form.validate_on_submit():
        d = _to_dict(form)
        update_tag(d, t_id)
        return redirect(url_for('table_tags'))

    return render_template(form.template, form=form, name='Редактировать тег')
예제 #14
0
파일: views.py 프로젝트: jukellok/mybloki
def rename_tag(id):
    item = Tag.query.get(id)
    if item is None:
        flash('Tag was not found')
    else:
        form = TagForm(request.form)
        if not form.validate():
            flash('Tag name not valid')
        else:
            item.name = request.form['tag']
            db.session.commit()
            flash('Tag was updated')
    return redirect(url_for('edit_tags'))
예제 #15
0
파일: views.py 프로젝트: YoYuUm/Blonkey
def add_tag():
    # Called using AJAX
    if (g.user.role == ROLE_ADMIN):
        form = TagForm(request.form)
        if request.method == 'POST' and form.validate():
            tag = Tag()
            form.populate_obj(tag)
            db.session.add(tag)
            db.session.commit()
            return jsonify(id=tag.id, name=tag.name)
        flash("Not valid tag")
        return jsonify(error="Not valid Tag")
    return jsonify(error="Not allowed")
예제 #16
0
파일: views.py 프로젝트: jpknie/flog
def edit_tag(tagid):
	if g.user.is_admin() != 1:
		flash('This user cannot edit tags!')
		return redirect(url_for('tags'))
	page_title = 'Edit tag'
	tag = Tag.query.get(int(tagid))
	form = TagForm(request.form, obj=tag)
	if request.method == 'POST' and form.validate_on_submit():
		# save new data in tag here
		form.populate_obj(tag)
		db.session.add(tag)
		db.session.commit()
		return redirect(url_for('tags'))
	return render_template('tag_editor.html', form_action = 'edit_tag', form = form, page_title = page_title)
예제 #17
0
파일: views.py 프로젝트: YoYuUm/Blonkey
def edit_tag(tag_id):
    tag = Tag.query.filter_by(id=tag_id).first()
    if (g.user.role == ROLE_ADMIN):
        form = TagForm(request.form, obj=tag)
        if request.method == 'POST' and form.validate():
            form.populate_obj(tag)
            db.session.add(tag)
            db.session.commit()
            return redirect(url_for('show_tag', tag_id=tag.id))
        return render_template('content_edit_tag.html',
                               title=tag.name,
                               form=form,
                               user=g.user)
    return redirect(url_for('index'))
예제 #18
0
 def post(self, request, *args, **kwargs):
     tag_form = TagForm(request.POST)
     tag_form.is_valid()
     tagname = tag_form.cleaned_data['name']
     tag_count = Tag.objects.filter(name=tagname).count()
     if tag_count == 0:
         tag = tag_form.save()
     else:
         tag = Tag.objects.get(name=tagname)
     tagobjectdata = {'tag_id': tag.id, 'object_id': tag_form.cleaned_data['object_id']}
     tagobject_form = TagObjectForm(tagobjectdata)
     tagobject_form.is_valid()
     tagobject_form.save()
     return self.render_success('done', {'tag':tagname, 'url': tag.get_absolute_url()})
예제 #19
0
def blog_update(request, id=""):
    id = id
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            tagnamelist = tagname.split()
            for taglist in tagnamelist:
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            content = cd['content']
            blog = Blog.objects.get(id=id)
            if blog:
                blog.caption = title
                blog.content = content
                blog.save()
                for taglist in tagnamelist:
                    blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                    blog.save()
                tags = blog.tags.all()
                for tagname in tags:
                    tagname = unicode(str(tagname), "utf-8")
                    if tagname not in tagnamelist:
                        notag = blog.tags.get(tag_name=tagname)
                        blog.tags.remove(notag)
            else:
                blog = Blog(caption=blog.caption, content=blog.content)
                blog.save()
            return HttpResponseRedirect('/blog/%s' % id)
    else:
        try:
            blog = Blog.objects.get(id=id)
        except Exception:
            raise Http404
        form = BlogForm(initial={'caption': blog.caption, 'content': blog.content}, auto_id=False)
        tags = blog.tags.all()
        if tags:
            taginit = ''
            for x in tags:
                taginit += str(x) + ' '
            tag = TagForm(initial={'tag_name': taginit})
        else:
            tag = TagForm()
    return render_to_response('blog_add.html',
        {'blog': blog, 'form': form, 'id': id, 'tag': tag},
        context_instance=RequestContext(request))
예제 #20
0
def index(request):
    form = TagForm()
    
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            obj = form.save()
            obj.client = plan.client
            obj.save()
            
    return render_to_response('iconography/tagupload.html', {
        'form'     :    form,         
        'request'  :    request,
        },
        context_instance=RequestContext(request))
예제 #21
0
파일: views.py 프로젝트: clvenstrand/kyhow
def createtag(request):
    
    if request.method == 'POST': # If the form has been submitted...
        form = TagForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            form.save()
            return HttpResponseRedirect('/createpage/') # Redirect after POST
    else:
        form = TagForm() # An unbound form

    return render(request, "createpage/createtag.html", {
        'form': form,
    })
예제 #22
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag_num = Tag.query.filter_by(name=data["tag_name"]).count()
        if tag_num == 1:
            flash("标签名称已经存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["tag_name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功!", "ok")
        #return redirect(url_for("admin.tag_add"))
        return redirect(url_for("admin.tag_list", page=1))
        #return jsonify(code=200, status=0, message='ok', data={})
    return render_template("admin/tag_add.html", form=form)
예제 #23
0
def tag_edit(id=None):
    form = TagForm()
    tag = Tag.query.get_or_404(id)
    if form.validate_on_submit():
        data = form.data
        tag_num = Tag.query.filter_by(name=data["tag_name"]).count()
        if tag.name != data["tag_name"] and tag_num == 1:
            flash("标签名称已经存在!", "err")
            return redirect(url_for("admin.tag_edit", id=id))
        tag.name = data["tag_name"]
        db.session.add(tag)
        db.session.commit()
        flash("修改标签成功!", "ok")
        #return redirect(url_for("admin.tag_edit",id=id))
        return redirect(url_for("admin.tag_list", page=1))
    return render_template("admin/tag_edit.html", form=form, tag=tag)
예제 #24
0
def tag_new():
    form = TagForm()

    if form.validate_on_submit():
        response = db.tag_insert_one(form.tag_name.data)

        if response:
            flash(response, 'error')
        else:
            flash('Successful INSERT', 'message')

        return redirect(url_for('tag_new'))

    flash_validation_errors(form)

    return render_template('form_tag_new.html', form=form)
예제 #25
0
def edit_tag(tagid):
    if g.user.is_admin() != 1:
        flash('This user cannot edit tags!')
        return redirect(url_for('tags'))
    page_title = 'Edit tag'
    tag = Tag.query.get(int(tagid))
    form = TagForm(request.form, obj=tag)
    if request.method == 'POST' and form.validate_on_submit():
        # save new data in tag here
        form.populate_obj(tag)
        db.session.add(tag)
        db.session.commit()
        return redirect(url_for('tags'))
    return render_template('tag_editor.html',
                           form_action='edit_tag',
                           form=form,
                           page_title=page_title)
예제 #26
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("添加标签成功! ", 'info')

        return redirect(url_for("admin.tag_add"))

    return render_template("admin/tag_add.html", form=form)
예제 #27
0
파일: views.py 프로젝트: jpknie/flog
def add_tag():
	if g.user.is_admin() != 1:
		flash('This user cannot add tags!')
		return redirect(url_for('tags'))
	form = TagForm(request.form)
	page_title = 'Add new tag'
	if request.method == 'POST' and form.validate_on_submit():
		tag = Tag()
		form.populate_obj(tag)
		try:
			db.session.add(tag)
			db.session.commit()
		except IntegrityError, exc:
			reason = exc.message
			if reason.find('unique constraint'):
				flash('Tag name already found in the database')
				db.session.rollback()
				return redirect(url_for('add_tag'))
		flash('Tag saved successfully')
		return redirect(url_for('tags'))
예제 #28
0
 def post(self, request, *args, **kwargs):
     tag_form = TagForm(request.POST)
     tag_form.is_valid()
     tagname = tag_form.cleaned_data['name']
     tag_count = Tag.objects.filter(name=tagname).count()
     if tag_count == 0:
         tag = tag_form.save()
     else:
         tag = Tag.objects.get(name=tagname)
     tagobjectdata = {
         'tag_id': tag.id,
         'object_id': tag_form.cleaned_data['object_id']
     }
     tagobject_form = TagObjectForm(tagobjectdata)
     tagobject_form.is_valid()
     tagobject_form.save()
     return self.render_success('done', {
         'tag': tagname,
         'url': tag.get_absolute_url()
     })
예제 #29
0
def add_tag():
    if g.user.is_admin() != 1:
        flash('This user cannot add tags!')
        return redirect(url_for('tags'))
    form = TagForm(request.form)
    page_title = 'Add new tag'
    if request.method == 'POST' and form.validate_on_submit():
        tag = Tag()
        form.populate_obj(tag)
        try:
            db.session.add(tag)
            db.session.commit()
        except IntegrityError, exc:
            reason = exc.message
            if reason.find('unique constraint'):
                flash('Tag name already found in the database')
                db.session.rollback()
                return redirect(url_for('add_tag'))
        flash('Tag saved successfully')
        return redirect(url_for('tags'))
예제 #30
0
def tagadd(request):
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred:list'))
    else:
        form = TagForm()

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #31
0
def add_tag(request):
    """

    :param request:
    :return:
    """
    id = request.GET.get('id', None)
    if id is not None:
        tag = get_object_or_404(Tag, id=id)
    else:
        tag = None

    if request.method == 'POST':
        if request.POST.get('control') == 'delete':
            tag.delete()
            messages.add_message(request, messages.INFO, 'Tag deleted')
            return HttpResponseRedirect(reverse('notes:index'))
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            t = form.save(commit=False)
            t.slug = slugify(t.label)
            t.save()
            messages.add_message(request, messages.INFO, 'Tag deleted')
            return HttpResponseRedirect(reverse('notes:index'))
    else:
        form = TagForm(instance=tag)
    return render(request, 'notes/addtag.html', {'form': form, 'tag': tag})
예제 #32
0
def edit_tag(tag_id=None):
    form = TagForm()
    tag = None
    title = "tag "
    if tag_id is not None:
        tag = Tag.query.filter(Tag.id == tag_id).first()
    if tag is None:
        tag = Tag()
    if request.method == 'POST':
        if form.validate_on_submit():
            tag_id = update_tag(form, tag)
            return redirect(url_for("posts.edit_tag", tag_id=tag_id))

    if request.method == "GET":
        form = TagForm(
            id=tag.id,
            tag_name=tag.tag_name,
            category=tag.category,
        )
        title = tag.tag_name

    return render_template('edit_tag.html', title=title, form=form)
예제 #33
0
def tag_edit(id=None):
    form = TagForm()
    tag = Tag.query.get_or_404(int(id))
    # 如果是请求的话填充信息
    if request.method == "GET":
        form.name.data = tag.name

    if form.validate_on_submit():
        data = form.data
        tag_count = Tag.query.filter_by(name=data["name"]).count()
        if tag_count == 1 and Tag.name != data.get("name"):
            flash("标签已经存在,请重新输入!", "err")
            return redirect(url_for("admin.tag_edit", id=id))

        tag.name = data.get("name")

        db.session.add(tag)
        db.session.commit()
        flash("修改标签成功! ", 'info')
        return redirect(url_for("admin.tag_add", id=tag.id))

    return render_template("admin/tag_edit.html", form=form, tag=tag)
예제 #34
0
def cms_remove_tag(request):
    '''
    1.如果该标签不存在不能移除,
    2.如果标签下有文章则不允许移除,
    因此我们要获取该标签下的所有文章,如果文章数小于0则不允许删除
    '''
    form = TagForm(request.POST)
    if form.is_valid():
        tag_id = form.cleaned_data.get('tag_id')
        tag_model = TagModel.objects.filter(pk=tag_id).first()
        if tag_model:
            article_count = tag_model.articlemodel_set.all().count()
            if article_count > 0:
                return myjson.json_params_error(message=u'该标签下还有文章,不能删除!')
            else:
                tag_model.delete()
                return myjson.json_result()
        else:
            return myjson.json_params_error(message=u'该标签不存在!')
    else:
        message = form.errors
        return myjson.json_params_error(message)
예제 #35
0
def tagedit(request, tag_id):
    tag = get_object_or_404(Tag, pk=tag_id)
    if request.method == 'POST':
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred:list'))
    else:
        form = TagForm(instance=tag)

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #36
0
def add_tag():
    form = TagForm()

    form.set_choices()
    if form.validate_on_submit():
        d = _to_dict(form)
        try:
            form.add(d)
        except:
            flash("Что-то пошло не так. Вероятно, такой тег уже существует")
            return redirect(url_for('add_tag'))
        return redirect(url_for('table_tags'))

    return render_template(form.template, form=form, name="Add tag")
예제 #37
0
def index(request):
    form = TagForm()

    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            obj = form.save()
            obj.client = plan.client
            obj.save()

    return render_to_response('iconography/tagupload.html', {
        'form': form,
        'request': request,
    },
                              context_instance=RequestContext(request))
예제 #38
0
 def create_tag_form(self):
     form = TagForm(initial={'object_id': self.object.id})
     return form
예제 #39
0
def query():
	# Initialise variables // move out of function and make them global?
	query=None
	answer=None
	analysis=None
	tokens = []
	alert=None
	log=None
	asks = 444
	tag=None
	tags = Tag(None)
	all_tags = []
	tag_list = []
	query_tags =[]
	remaining_tags = []
	existing_query=None
	title=""
	question = request.args.get('question', '')
	tabs = {"results":"", "sparql":"", "meta":"", "talk":""}
	# Initialise form variables
	form = QuestionForm()
	tag_form = TagForm()

	# Get NLTK DATA PATH for tokenizing analysis
	if os.path.isdir("C:/Users/edanw_000/My Programming libraries/ntlk/"):
		NLTK_DATA_PATH = ["C:/Users/edanw_000/My Programming libraries/ntlk/"]
	elif os.path.isdir("/home/edanweis/webapps/oi3/oi3"):
		NLTK_DATA_PATH = ["/home/edanweis/webapps/oi3/oi3"]
	else:
		answer = "no NLTK found"

	# Checks if the GET value exists
	if question:

		# Analyse question.
		analysis = quepy.nltktagger.run_nltktagger(urllib.unquote(question), NLTK_DATA_PATH)
		tokens_length = len(analysis)
		for child in analysis:
			token = {}
			token["token"] = str(child.token)
			token["POS"] = str(child.pos)
			token["lema"]= str(child.lemma)
			token["prob"]= str(child.prob)
			tokens.append(token)
		
		# Answer question
		quepy_process = functions.quepyProcess(question)    # Process the quesiton with Quepy
		query, answer = quepy_process[0], quepy_process[1]     # assign results to variables.
		existing_query = Query.query.filter_by(sparql_id = query.sparql_id).first()
		tabs['results'] = "active"
		# check if this sparql query is in the database
		if existing_query:
			query = existing_query
			existing_query.asks += 1
			db.session.commit()
		else:
			query = Query(
			sparql_id = query.sparql_id,
			sparql_code = query.sparql_code,
			question = query.question,
			errors = query.errors,
			votes = query.votes,
			tags = query.tags,
			timestamp = query.timestamp,
			asks = 1,
			success = query.success
			)
			db.session.add(query)
			db.session.commit()        

		title = query.question

		tag_list = [str(child.name) for child in Query.query.filter_by(sparql_id = query.sparql_id).first().tags]
		tag_list = [x+"  x "+str(Tag.query.filter_by(name=x).first().tag_cnt) for x in tag_list]

		if tag_list is None:
			tag_list = []
		
		# Save tags from form
		if request.method == 'POST':
			if tag_form.validate_on_submit():
				
				tabs['results'], tabs['talk'] = "", "active"
				tag_list = [str(child.name) for child in Query.query.filter_by(sparql_id = query.sparql_id).first().tags]
				tag_list = [x+"  x "+str(Tag.query.filter_by(name=x).first().tag_cnt) for x in tag_list]

				form_tags = tag_form.tag.data.split(",")
				tag_form.tag.data = ''
				insert_tags = [tag for tag in form_tags if tag not in tag_list]
				tag_list += [str(tag) for tag in insert_tags if tag !=""]

				for child in insert_tags:
					tag = Tag(child)
					if len(child) >2 and child != "":
						existing_query.tags += [tag]
						db.session.commit()
	
		query_tags = [str(child.name) for child in Tag.query.all()]
		remaining_tags = functions.removeDuplicates([x for x in query_tags if x not in tag_list])

		# Log the query for user logs. (this is doubling up with talk page?)
		log = Log(nlq=query.question, sparql=query.sparql_code, timestamp=query.timestamp, success=query.success, author=g.user)
		db.session.add(log)
		db.session.commit()
		# all_tags = Tag.query.all()
		# tags = [ tag.name for tag in db.session.query(Tag).order_by(Tag.name) ]
	# else:
	# 	alert = "Try again"

	return render_template('query.html',
		all_tags=all_tags,
		tag_form = tag_form,
		form = form,
		query=query,
		user=g.user,
		answer=answer,
		alert=alert,
		log=log,
		tag=tag, 
		tag_list = tag_list, 
		query_tags = query_tags,
		remaining_tags = remaining_tags,
		existing_query = existing_query, 
		title= title, 
		now=datetime.utcnow(), 
		tab=tabs, 
		analysis=tokens)
예제 #40
0
def home():
    if user.authenticated == False:
        return redirect(url_for("login"))

    itemstodisplay = []
    ''' add public content to "itemstodisplay" '''
    publiccontentitems = con.execute(
        "SELECT * FROM contentitem WHERE is_pub = 1")
    for publiccontentitem in publiccontentitems:
        wasadded = False
        for i in range(0, len(itemstodisplay)):
            if publiccontentitem["post_time"] < itemstodisplay[i]["post_time"]:
                itemstodisplay.insert(i, publiccontentitem)
                wasadded = True
        if wasadded == False:
            itemstodisplay.append(publiccontentitem)
    ''' now add items from your friend group to "itemstodisplay" '''
    groupcontentitems = con.execute(
        "SELECT * FROM contentitem WHERE email_post IN "
        "(SELECT owner_email FROM belong WHERE email = %s);",
        [user.getEmail()])
    for groupcontentitem in groupcontentitems:
        wasadded = False
        for i in range(0, len(itemstodisplay)):
            if groupcontentitem["post_time"] < itemstodisplay[i]["post_time"]:
                itemstodisplay.insert(i, groupcontentitem)
                wasadded = True
        if wasadded == False:
            itemstodisplay.append(groupcontentitem)
    ''' now handle tagged people '''
    tags = {}
    for itemtodisplay in itemstodisplay:
        tagged = con.execute(
            f"SELECT email_tagged FROM tag WHERE status = 'True' AND item_id = {itemtodisplay['item_id']};"
        )
        tags[itemtodisplay["item_id"]] = []
        for taggee_email in tagged:
            tags[itemtodisplay["item_id"]].append(taggee_email)
    ''' now ratings '''
    ratings = {}
    for itemtodisplay in itemstodisplay:
        rating = con.execute(
            f"SELECT emoji FROM rate WHERE item_id = {itemtodisplay['item_id']};"
        )
        ratings[itemtodisplay["item_id"]] = []
        for r in rating:
            ratings[itemtodisplay["item_id"]].append(r)

    user.setitemsicansee(itemstodisplay)

    form = TagForm(request.form)

    if request.method == "POST" and form.validate_on_submit():
        email_taggee = request.form["email_taggee"]
        item_id = request.form["item_id"]
        if email_taggee == user.getEmail():
            con.execute(
                f"INSERT INTO tag VALUES ('{email_taggee}', '{email_taggee}', {item_id}, 'True', '2016-07-07 00:01:01');"
            )
        else:
            con.execute(
                f"INSERT INTO tag VALUES ('{email_taggee}', '{user.getEmail()}', {item_id}, 'False', '2016-07-07 00:01:01');"
            )

    return render_template('home.html',
                           itemstodisplay=itemstodisplay,
                           tags=tags,
                           ratings=ratings,
                           form=form)
예제 #41
0
def add_post(request):
    if not request.user.is_anonymous():
        if request.method == 'POST':
            post_form = PostForm(request.POST)
            tag = TagForm(request.POST)
            if post_form.is_valid() and tag.is_valid():
                cd_tag = tag.cleaned_data
                tag_name = cd_tag['tag_name']
                for tag_list in tag_name.split(','):
                    Tag.objects.get_or_create(tag_name=tag_list.strip())
                title = post_form.cleaned_data['caption']
                user = request.user
                content = post_form.cleaned_data['content']
                post = Post(caption=title, user=user, content=content, vedio_xml_link="/home/yusn/liteforum/liteforum/static/ressvr/video.xml")
                post.save()
                #tags
                for tag_list in tag_name.split(','):
                    post.tags.add(Tag.objects.get(tag_name=tag_list.strip()))
                    post.save()
                post_id = Post.objects.order_by('-publish_time')[0].id
                #qiniu
                if 'file' in request.FILES:
                    post.vedio_count = 1
                    post.save()
                    bucket_src = 'sns-picture'
                    q = qiniu.Auth('iaB9zwTfCcWzZgIoHKmxexJee1mY_301y5fnsSSZ', '4c75Nb8qypfYrwOhOwOY_rLdYAiH0937sKYh6yWh')
                    data = request.FILES['file']
                    token = q.upload_token(bucket_src)
                    key = request.FILES['file'].name+".mp4"
                    ret, info = qiniu.put_data(token, key, data)
                    pfop = PersistentFop(q, bucket_src)
                    op = op_save('avthumb/mp4/vcodec/libx264/s/', bucket_src, key)
                    ops = []
                    ops.append(op)
                    ret, info = pfop.execute(key, ops, 1)
                    print(info)
                    assert ret['persistentId'] is not None
                    if ret is not None:
                        print('All is OK')
                    else:
                        print(info) # error message in info
                    #create a new video xml
                    os.chdir("/home/yusn/liteforum/liteforum/static/ressvr")
                    template_object = open('video.xml')
                    try:
                         all_the_text = template_object.read()
                         all_the_text = all_the_text.replace("#replace#", request.FILES['file'].name.encode("utf-8"))
                         new_xml = open(request.FILES['file'].name.encode("utf-8")+'.xml', 'w')
                         new_xml.write(all_the_text)
                         new_xml.close()
                         post.vedio_xml_link = request.FILES['file'].name.encode("utf-8")+'.xml'
                         post.save()
                    finally:
                         template_object.close( )
                return HttpResponseRedirect('/forum/%s' % post.id)
        else:
            post_form = PostForm()
            tag = TagForm(initial={'tag_name': 'others'})
        return render_to_response('forum/add_post.html',
                                  {'form': post_form, 'tag': tag}, RequestContext(request))
    else:
        return render(request, 'forum/login.html', {})