import sqlite3
from flask import Flask, render_template, request, url_for, flash, redirect
from werkzeug.exceptions import abort
from init_db import initDB

def get_db_connection():
    conn = sqlite3.connect('./data/database.db')
    conn.row_factory = sqlite3.Row
    return conn

app = Flask(__name__)
headings= ("Name","Brand","Category","Availability","Quantity")

@app.route('/')
@app.route('/Grover-de')
def region1():
    conn = get_db_connection()
    products = conn.execute('SELECT productname,brand,category,stockstatus,quantity FROM products where store = "Grover-de"').fetchall()
    conn.close()
    return render_template('homepage.html', headings=headings, data=products)

@app.route('/mm-berlin')
def region2():
    conn = get_db_connection()
    products = conn.execute('SELECT productname,brand,category,stockstatus,quantity FROM products where store = "mm-berlin"').fetchall()
    conn.close()
    return render_template('homepage.html', headings=headings, data=products)


# def get_post(post_id):
#     conn = get_db_connection()
#     post = conn.execute('SELECT * FROM posts WHERE id = ?',
#                         (post_id,)).fetchone()
#     conn.close()
#     if post is None:
#         abort(404)
#     return post


# # app = Flask(__name__)
# # app.config['SECRET_KEY'] = 'your secret key'


# @app.route('/<int:post_id>')
# def post(post_id):
#     post = get_post(post_id)
#     return render_template('post.html', post=post)


# @app.route('/create', methods=('GET', 'POST'))
# def create():
#     if request.method == 'POST':
#         title = request.form['title']
#         content = request.form['content']

#         if not title:
#             flash('Title is required!')
#         else:
#             conn = get_db_connection()
#             conn.execute('INSERT INTO posts (title, content) VALUES (?, ?)',
#                          (title, content))
#             conn.commit()
#             conn.close()
#             return redirect(url_for('index'))

#     return render_template('create.html')


# @app.route('/<int:id>/edit', methods=('GET', 'POST'))
# def edit(id):
#     post = get_post(id)

#     if request.method == 'POST':
#         title = request.form['title']
#         content = request.form['content']

#         if not title:
#             flash('Title is required!')
#         else:
#             conn = get_db_connection()
#             conn.execute('UPDATE posts SET title = ?, content = ?'
#                          ' WHERE id = ?',
#                          (title, content, id))
#             conn.commit()
#             conn.close()
#             return redirect(url_for('index'))

#     return render_template('edit.html', post=post)


# @app.route('/<int:id>/delete', methods=('POST',))
# def delete(id):
#     post = get_post(id)
#     conn = get_db_connection()
#     conn.execute('DELETE FROM posts WHERE id = ?', (id,))
#     conn.commit()
#     conn.close()
#     flash('"{}" was successfully deleted!'.format(post['title']))
#     return redirect(url_for('index'))


if __name__ == '__main__':
    initDB()
    app.run(host='0.0.0.0',port=6000)
