#!/usr/bin/python3 from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy from markupsafe import escape import requests, json, toml, time import views, downloader, ythdd_api, ythdd_globals, ythdd_db #from ythdd_db import db #config = toml.load("config.toml") #global app ythdd_globals.starttime = int(time.time()) ythdd_globals.apiRequests = 0 ythdd_globals.apiFailedRequests = 0 ythdd_globals.isProxied = ythdd_globals.config['general']['is_proxied'] ythdd_globals.outsideApiHits = 0 app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = f"sqlite:///{ythdd_globals.config["general"]["db_file_path"]}" app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.add_url_rule('/', view_func=views.index) app.add_url_rule('/index.html', view_func=views.index) app.add_url_rule('/home', view_func=views.home) app.add_url_rule('/api/', view_func=ythdd_api.api_greeting) app.add_url_rule('/api/', view_func=ythdd_api.api_global_catchall) db = ythdd_db.initDB(app) with app.app_context(): db.create_all() @app.route('/', methods=['GET']) def blank(val): return f"{val}: not implemented in ythdd {ythdd_globals.version}" #users = db.session.query(LocalUsers).all() #return users if __name__ == "__main__": print("welcome to ythdd") print("to run locally, use ip 127.0.0.1. to run on all interfaces, use 0.0.0.0.") print("enter hostname:port to run flask app on:") host_port = input('> ').split(':') #app.run(host="127.0.0.1", port=5000) #app.run(host="0.0.0.0", port=5000) app.run(host=host_port[0], port=int(host_port[1]))