예제 #1
0
파일: routes.py 프로젝트: x89/qdb
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'
예제 #2
0
파일: routes.py 프로젝트: x89/qdb
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'
예제 #3
0
파일: routes.py 프로젝트: x89/qdb
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'))
예제 #4
0
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'))
예제 #5
0
파일: routes.py 프로젝트: anlutro/qdb
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'))
예제 #6
0
파일: routes.py 프로젝트: risb0r/qdb
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"))
예제 #7
0
파일: routes.py 프로젝트: x89/qdb
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'))
예제 #8
0
파일: models_test.py 프로젝트: moopie/qdb
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)
예제 #9
0
파일: models_test.py 프로젝트: anlutro/qdb
	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))
예제 #10
0
파일: models_test.py 프로젝트: anlutro/qdb
	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))