43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
#!/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/<path:received_request>', view_func=ythdd_api.api_global_catchall)
|
|
db = ythdd_db.initDB(app)
|
|
|
|
with app.app_context():
|
|
db.create_all()
|
|
|
|
@app.route('/<string:val>', 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])) |