コード例 #1
0
ファイル: kunjika.py プロジェクト: kant-shashi/Kunjika
def ask():
    questionForm = QuestionForm(request.form)
    if g.user is not None and g.user.is_authenticated():
        if questionForm.validate_on_submit() and request.method == 'POST':
            question = {}
            question['content'] = {}
            title = questionForm.question.data
            question['content']['description'] = questionForm.description.data
            question['content']['tags'] = []
            question['content']['tags'] = questionForm.tags.data.split(',')
            question['title'] = title

            url = utility.generate_url(title)

            question['content']['url'] = url
            question['content']['op'] = str(g.user.id)
            question['content']['ts'] = int(time())
            question['content']['ip'] = request.remote_addr
            qb.incr('qcount', 1)
            question['qid'] = qb.get('qcount').value
            question['votes'] = 0
            question['acount'] = 0
            question['views'] = 0

            qb.add(str(question['qid']), question)

            user = cb.get(str(g.user.id)).value
            user['rep'] += 1
            cb.replace(str(g.user.id), user)
            add_tags(question['content']['tags'], question['qid'])

            return redirect(url_for('questions', qid=question['qid'], url=question['content']['url']))

        return render_template('ask.html', title='Ask', form=questionForm, apage=True, fname=g.user.name,
                               user_id=g.user.id)
    return redirect(url_for('login'))
コード例 #2
0
ファイル: kunjika.py プロジェクト: kant-shashi/Kunjika
def edits(element):
    #edit_list = edit.handle_edit(element)
    #pprint(edit_list)

    aid = 0
    cid = 0
    qid = 0

    edit_list = element.split('-')

    question = qb.get(edit_list[1]).value
    type = edit_list[0]
    form = ""
    qid = edit_list[1]
    if type == 'ce':
        form = CommentForm(request.form)
        if len(edit_list) == 3:
            cid = edit_list[2]
        else:
            cid = edit_list[3]
            aid = edit_list[2]
    elif type == 'ae':
        form = AnswerForm(request.form)
        aid = edit_list[2]
    elif type == 'qe':
        form = QuestionForm(request.form)

    if request.method == 'POST':
        if type == 'ce':
            if form.validate_on_submit():
                if aid != 0:
                    question['answers'][int(aid) - 1]['comments'][int(cid) - 1]['comment'] = form.comment.data
                else:
                    print "test"
                    question['comments'][int(cid) - 1]['comment'] = form.comment.data

                editor = cb.get(str(g.user.id)).value
                editor['rep'] += 1
                qb.replace(qid, question)

            return redirect(url_for('questions', qid=int(qid), url=utility.generate_url(question['title'])))
        elif type == 'ae':
            if form.validate_on_submit():
                question['answers'][int(aid) - 1]['answer'] = form.answer.data

                editor = cb.get(str(g.user.id)).value
                editor['rep'] += 1
                qb.replace(qid, question)

            return redirect(url_for('questions', qid=int(qid), url=utility.generate_url(question['title'])))
        else:
            if form.validate_on_submit():
                question['content']['description'] = form.description.data

                editor = cb.get(str(g.user.id)).value
                editor['rep'] += 1
                qb.replace(qid, question)
            return redirect(url_for('questions', qid=int(qid), url=utility.generate_url(question['title'])))
    else:
        return render_template('edit.html', title='Edit', form=form, question=question, type=type, qid=qid,
                               aid=int(aid), cid=int(cid))