diff --git a/create_db.py b/create_db.py deleted file mode 100644 index cb284be..0000000 --- a/create_db.py +++ /dev/null @@ -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() \ No newline at end of file diff --git a/tharanor-letter.py b/tharanor-letter.py index b7dad62..2d1ece1 100644 --- a/tharanor-letter.py +++ b/tharanor-letter.py @@ -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)