import os from datasets import load_dataset import json import uuid from pathlib import Path import json from datasets import load_dataset from flask import Flask, request, jsonify import requests from flask_cors import CORS from flask_apscheduler import APScheduler import shutil from PIL import Image import sqlite3 from huggingface_hub import Repository import subprocess app = Flask(__name__, static_url_path='/static') CORS(app) Path("static/images").mkdir(parents=True, exist_ok=True) def update_repository(): print("Updating repository") @ app.route('/operacao') def index(): return app.send_static_file('operacao.html') @ app.route('/operacaoTemplate.html') def operacao(): return app.send_static_file('operacaoTemplate.html') @ app.route('/getresource', methods=['GET']) def getresource(): res = request.args.get('r') return app.send_static_file(res) @ app.route('/novo-front/') def novofront(file): return app.send_static_file('novo-front/'+file+'.html') @ app.route('/novo-front/css/') def novofrontcss(file): return app.send_static_file('novo-front/css/'+file) @ app.route('/novo-front/img/') def novofrontimg(file): return app.send_static_file('novo-front/img/'+file) @ app.route('/autentica', methods=['GET']) def autentica(): email = request.args.get('email') passw = request.args.get('passw') newurl = 'http://painel.atualli.com/autentica?email'+email+'&passw='+passw res = requests.request( method = request.method, url = newurl, headers = {k:v for k,v in request.headers if k.lower() == 'host'}, data = request.get_data(), cookies = request.cookies, allow_redirects = False, ) response = Response(res.content, res.status_code, res.headers) return response if __name__ == '__main__': mode = os.environ.get('FLASK_ENV', 'production') print(mode) dev = mode == 'development' print("Starting scheduler -- Running Production") scheduler = APScheduler() scheduler.add_job(id='Update Dataset Repository', func=update_repository, trigger='interval', hours=1) scheduler.start() app.run(host='0.0.0.0', port=int( os.environ.get('PORT', 7860)), debug=True, use_reloader=dev)