database / app.py
xcx0902's picture
Upload folder using huggingface_hub
12657d7 verified
import os
import time
import sqlite3
import threading
from pydantic import BaseModel
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from huggingface_hub import HfApi
from filesystem import upload, download
app = FastAPI()
class sql(BaseModel):
sql: str
def Upload():
download()
while True:
try:
upload()
except:
pass
time.sleep(30)
def Connect():
conn = sqlite3.connect("database.db")
cursor = conn.cursor()
return conn, cursor
def Close(conn: sqlite3.Connection):
conn.commit()
conn.close()
thread = threading.Thread(target=Upload)
thread.start()
@app.get("/", response_class=HTMLResponse)
def HuggingFaceSpaceRoot():
return open("usage.html").read()
@app.head("/")
def UptimeRobot():
return "OK"
def execute_sql(sql: str):
conn, cursor = Connect()
cursor.execute(sql)
Close(conn)
@app.post("/sql")
def execute_sql_post(param: sql):
return execute_sql(param.sql)
@app.get("/sql")
def execute_sql_get(sql: str):
return execute_sql(sql)
def select(sql: str):
conn, cursor = Connect()
result = cursor.execute(sql).fetchall()
Close(conn)
return result
@app.post("/select")
def select_post(param: sql):
return select(param.sql)
@app.get("/select")
def select_get(sql: str):
return select(sql)