Add quote import script
This commit is contained in:
parent
8f5a6a6357
commit
7ab27fd9ef
3 changed files with 26 additions and 3 deletions
|
@ -150,4 +150,4 @@ def add_quote():
|
||||||
|
|
||||||
@app.route('/', methods=['GET'])
|
@app.route('/', methods=['GET'])
|
||||||
def list_quotes():
|
def list_quotes():
|
||||||
return render_template('quotes.html', quotes = models.Quote.query.all())
|
return render_template('quotes.html', quotes = reversed(models.Quote.query.all()))
|
||||||
|
|
|
@ -33,12 +33,15 @@ class Quote(db.Model):
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<Quote {} \"{}\">".format(self.quoter, self.quote)
|
return "<Quote {} \"{}\">".format(self.quoter, self.quote)
|
||||||
|
|
||||||
def __init__(self, quoter, quote, channel):
|
def __init__(self, quoter, quote, channel, created_at=None):
|
||||||
super()
|
super()
|
||||||
self.quoter = quoter
|
self.quoter = quoter
|
||||||
self.quote = quote
|
self.quote = quote
|
||||||
self.channel = channel
|
self.channel = channel
|
||||||
self.created_at = datetime.utcnow()
|
if created_at is None:
|
||||||
|
self.created_at = datetime.utcnow()
|
||||||
|
else:
|
||||||
|
self.created_at = created_at
|
||||||
# Experimentally try to find quoted user
|
# Experimentally try to find quoted user
|
||||||
quotee_match = Quote.QUOTEE_REGEX.search(quote)
|
quotee_match = Quote.QUOTEE_REGEX.search(quote)
|
||||||
self.quotee = quotee_match.group(1) if quotee_match is not None else None
|
self.quotee = quotee_match.group(1) if quotee_match is not None else None
|
||||||
|
|
20
import_quotes.py
Normal file
20
import_quotes.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
from flask import Flask, request, Response, abort, render_template
|
||||||
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
from flask_migrate import Migrate
|
||||||
|
from app import models
|
||||||
|
from datetime import datetime
|
||||||
|
import config
|
||||||
|
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.config['SQLALCHEMY_DATABASE_URI'] = config.DATABASE_URL
|
||||||
|
db = SQLAlchemy(app)
|
||||||
|
|
||||||
|
for line in open('quotes.tsv'):
|
||||||
|
split = line.split("\t")
|
||||||
|
assert len(split) == 4, "Too much tabs at line \"{}\", {}".format(line, len(split))
|
||||||
|
quoter, channel, quote_text, created_at = split
|
||||||
|
quote = models.Quote(quoter, quote_text, channel, created_at = datetime.strptime(created_at.strip(), "%Y-%m-%d %H:%M:%S"))
|
||||||
|
db.session.add(quote)
|
||||||
|
db.session.commit()
|
||||||
|
|
Loading…
Reference in a new issue