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'))
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))