def show(quote_id): quote = db_session.query(Quote) \ .filter(Quote.id == quote_id) \ .first() if not quote: return abort(404) if request.method == 'GET' or request.method == 'HEAD': if request.headers.get('Accept') == 'application/json': return jsonify(quote=quote) return render_template('show.html.jinja', quote=quote) if not session.get('logged_in'): return abort(401) if request.method == 'DELETE': db_session.delete(quote) db_session.commit() return 'OK' body = Quote.prepare(request.form['body']) quote.body = body db_session.add(quote) db_session.commit() return 'OK'
def submit(): if request.method == 'GET' or request.method == 'HEAD': return render_template( 'form.html.jinja', form_action=url_for('submit'), body='', ) body = Quote.prepare(request.form['body']) quote = Quote(body, datetime.now()) db_session.add(quote) db_session.commit() if app.config.get('ENABLE_IRCBOT_WEBHOOKS'): ircbot.notify_bot(quote) flash('Quote added!') return redirect(url_for('home'))
def submit(): if request.method in ('GET', 'HEAD'): return render_template('form.html.jinja', body='') if is_spam(request.form['body']): return abort(400) body = prepare_quote(request.form['body'], strip_timestamps=bool( request.form.get('strip_timestamps'))) quote = Quote(body, datetime.now(), request.remote_addr) if session.get('logged_in'): quote.approved = True db_session.add(quote) db_session.commit() if app.config.get('ENABLE_IRCBOT_WEBHOOKS'): ircbot.notify_bot(quote) flash('Quote added!') return redirect(url_for('home'))
def submit(): if request.method in ('GET', 'HEAD'): return render_template('form.html.jinja', body='') if is_spam(request.form['body']): return abort(400) body = Quote.prepare( request.form['body'], strip_timestamps=bool(request.form.get('strip_timestamps')) ) quote = Quote(body, datetime.now(), request.remote_addr) if session.get('logged_in'): quote.approved = True db_session.add(quote) db_session.commit() if app.config.get('ENABLE_IRCBOT_WEBHOOKS'): ircbot.notify_bot(quote) flash('Quote added!') return redirect(url_for('home'))
def submit(): if request.method in ("GET", "HEAD"): return render_template("form.html.jinja", body="") if is_spam(request.form["body"]): return abort(400) body = prepare_quote( request.form["body"], strip_timestamps=bool(request.form.get("strip_timestamps")), ) if not body: return abort(400) quote = Quote(body, datetime.now(), request.remote_addr) if session.get("logged_in"): quote.approved = True db_session.add(quote) db_session.commit() if app.config.get("ENABLE_IRCBOT_WEBHOOKS"): ircbot.notify_bot(quote) flash("Quote added!") return redirect(url_for("home"))
def submit(): if request.method == 'GET' or request.method == 'HEAD': return render_template('form.html.jinja', form_action=url_for('submit'), body='', ) body = Quote.prepare(request.form['body']) quote = Quote(body, datetime.now()) db_session.add(quote) db_session.commit() if app.config.get('ENABLE_IRCBOT_WEBHOOKS'): ircbot.notify_bot(quote) flash('Quote added!') return redirect(url_for('home'))
def make_quote(body='', submitted_at=None, submitter_ip=None, approved=False): if not submitted_at: submitted_at = datetime.datetime.now() return Quote(body, submitted_at, submitter_ip, approved)
def test_strips_voice_and_ops(self): text = '<+Abc> a\n<@dEf> b\n< ghJ> c' expected = '<Abc> a\n<dEf> b\n<ghJ> c' self.assertEqual(expected, Quote.prepare(text))
def test_prepare_strips_timestamp(self): text = '[01:23] <asdf> foobar\n[01:23] * asdf stuff' self.assertEqual(text, Quote.prepare(text, strip_timestamps=False)) expected = '<asdf> foobar\n* asdf stuff' self.assertEqual(expected, Quote.prepare(text))