import sqlite3 import connection import server_controller import model from bottle import run, response, route from server_controller import not_found from util import debug if __name__ == '__main__': print('sqlite3.version', model.db.version) model.setup() valid_routes = ['login', 'register', 'depot', 'activate_key', 'order', 'orders', 'news', 'transactions'] @route('/', method='POST') def process(path): if path not in valid_routes: return not_found() response.content_type = 'application/json' method_to_call = getattr(server_controller, path) try: resp = method_to_call() if response.status_code == 200: model.connection.commit() else: model.connection.rollback() return resp except sqlite3.IntegrityError as e: print(e) return server_controller.bad_request('Action violates database constraints.') run(host='localhost', port=connection.port, debug=debug) model.db.connection.disconnect()