Differentiate between dev and prod

main
Simon Moser vor 3 Wochen
Ursprung 2bf50b03fc
Commit 93e4cd8e21

@ -1,25 +0,0 @@
import sqlite3
DB_PATH = 'letter_data.db'
def init_db():
with sqlite3.connect(DB_PATH) as conn:
cur = conn.cursor()
cur.execute('''CREATE TABLE IF NOT EXISTS sender (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
address TEXT,
logo TEXT,
signature TEXT)''')
cur.execute('''CREATE TABLE IF NOT EXISTS state (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT)''')
cur.execute('''CREATE TABLE IF NOT EXISTS recipient (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
address TEXT,
state_id INTEGER,
FOREIGN KEY(state_id) REFERENCES state(id))''')
init_db()

@ -1,21 +1,22 @@
from flask import Flask, render_template, request, jsonify
from werkzeug.utils import secure_filename
from pathlib import Path
import os
from argparse import ArgumentParser
from warnings import warn
import sqlite3
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = Path('./static/uploads')
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
app.config['UPLOAD_FOLDER'].mkdir(parents=True, exist_ok=True)
DB_PATH = 'letter_data.db'
def query_db(query, args=(), one=False):
def query_db(query, query_args=(), one=False):
conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row
cur = conn.cursor()
cur.execute(query, args)
cur.execute(query, query_args)
rv = cur.fetchall()
conn.commit()
conn.close()
@ -36,7 +37,9 @@ def generate():
recipient_id = request.form['recipient']
text = request.form['text']
sender = query_db('SELECT * FROM sender WHERE id = ?', [sender_id], one=True)
recipient = query_db('SELECT recipient.*, state.name as state_name FROM recipient LEFT JOIN state ON recipient.state_id = state.id WHERE recipient.id = ?', [recipient_id], one=True)
recipient = query_db('SELECT recipient.*, state.name as state_name'
'FROM recipient LEFT JOIN state ON recipient.state_id = state.id'
'WHERE recipient.id = ?', [recipient_id], one=True)
return render_template('letter.html', sender=sender, recipient=recipient, text=text)
@ -153,4 +156,10 @@ def api_edit_state(state_id):
if __name__ == '__main__':
app.run(debug=True)
parser = ArgumentParser()
parser.add_argument('-a', '--address', default='127.0.0.1', help="Host IP address to bind to (default: 127.0.0.1)")
parser.add_argument('-p', '--port', default='5000', help="Port to bind to (default: 5000)")
args = parser.parse_args()
warn("Falls diese Umgebung produktiv ist, nutze besser:\n"
f"gunicorn --bind {args.address}:{args.port} --log-level tharanor-letter.py:app")
app.run(debug=True, host=args.address, port=args.port)

Laden…
Abbrechen
Speichern