def ask(user=None): form = AskForm() if request.method == 'POST': if g.user is None or not g.user.is_authenticated(): flash(gettext('You need to be logged in to ask questions.')) return redirect(url_for('account.login')) if form.validate_on_submit(): timestamp = datetime.utcnow() slug = Question.make_unique_slug(form.question.data) from ..utils.profanities_filter import ProfanitiesFilter file_banned_words = open( os.path.join(basedir, "dataviva/static/txt/blacklist.txt")) banned_words = [line.strip() for line in file_banned_words] filter = ProfanitiesFilter(banned_words, replacements='*') _question = filter.clean(str(form.question.data.encode("utf-8"))) _body = filter.clean(str(form.body.data.encode("utf-8"))) _type = filter.clean(str(form.type.data)) question = Question(question=_question, body=_body, timestamp=timestamp, user=g.user, slug=slug, language=g.locale, type_id=_type) if "," in form.tags.data: tags = form.tags.data.split(",") question.str_tags(tags) db.session.add(question) db.session.commit() try: flash( gettext( 'Your message was sent successfully. Thank you for your contribution, it will be helpful to other users and is essential to improving our tool! Our team will contact you by e-mail shortly.' )) send_mail( 'Aviso de nova publicacao no DataViva', [ADMINISTRATOR_EMAIL], render_template('about/ask/ask_feedback.html', question=question)) except BaseException as e: print e # if user and request.remote_addr == SITE_MIRROR.split(":")[1][2:]: # return jsonify({"status": "Success"}) # else: return redirect(url_for('about.contact')) else: return render_template("about/ask/ask.html", page="ask", form=form) return render_template("about/ask/ask.html", page="ask", form=form)