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'])
|
||||
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):
|
||||
return "<Quote {} \"{}\">".format(self.quoter, self.quote)
|
||||
|
||||
def __init__(self, quoter, quote, channel):
|
||||
def __init__(self, quoter, quote, channel, created_at=None):
|
||||
super()
|
||||
self.quoter = quoter
|
||||
self.quote = quote
|
||||
self.channel = channel
|
||||
if created_at is None:
|
||||
self.created_at = datetime.utcnow()
|
||||
else:
|
||||
self.created_at = created_at
|
||||
# Experimentally try to find quoted user
|
||||
quotee_match = Quote.QUOTEE_REGEX.search(quote)
|
||||
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