import sqlite3 import time import connection import server_controller import model from bottle import run, response, route, redirect from server_controller import not_found from debug import debug if __name__ == '__main__': print('sqlite3.version', model.db.version) valid_routes = ['login', 'register', 'depot', 'activate_key', 'order', 'orders', 'news', 'transactions', 'orders_on', 'cancel_order', 'leaderboard', 'tradables', 'gift', 'change_password'] @route('/', method='POST') def process(path): start = time.clock() path = path.strip().lower() if path not in valid_routes: print('Processing time:', time.clock() - start) return not_found() response.content_type = 'application/json' method_to_call = getattr(server_controller, path) try: model.drop_expired_orders() resp = method_to_call() if response.status_code == 200: model.connection.commit() else: model.connection.rollback() print('Processing time:', time.clock() - start) return resp except sqlite3.IntegrityError as e: print(e) model.connection.rollback() print('Processing time:', time.clock() - start) return server_controller.bad_request('Action violates database constraints.') @route('/', method='GET') def process(): redirect('http://koljastrohm-games.com/downloads/orderer_installer.zip') run(host='0.0.0.0', port=connection.port, debug=debug) model.connection.close()