You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import json
|
|
|
|
import sqlalchemy
|
|
|
|
from flask import Flask
|
|
|
|
from flask import render_template
|
|
|
|
|
|
|
|
app = Flask(__name__)
|
|
|
|
|
|
|
|
db_engine = {}
|
|
|
|
db_metadata = {}
|
|
|
|
|
|
|
|
@app.route('/')
|
|
|
|
def index():
|
|
|
|
return render_template('partsearch.html')
|
|
|
|
|
|
|
|
def connect(user, password, db, host='localhost', port=5432):
|
|
|
|
'''Returns a connection and a metadata object'''
|
|
|
|
# We connect with the help of the PostgreSQL URL
|
|
|
|
url = 'postgresql://{}:{}@{}:{}/{}'
|
|
|
|
url = url.format(user, password, host, port, db)
|
|
|
|
|
|
|
|
# The return value of create_engine() is our connection object
|
|
|
|
con = sqlalchemy.create_engine(url, client_encoding='utf8')
|
|
|
|
|
|
|
|
# We then bind the connection to MetaData()
|
|
|
|
meta = sqlalchemy.MetaData(bind=con, reflect=True)
|
|
|
|
|
|
|
|
return con, meta
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
with open('admin.json') as f:
|
|
|
|
postgres_credentials = json.load(f)
|
|
|
|
db_engine, db_metadata = connect(postgres_credentials['username'], postgres_credentials['password'], 'parts')
|