Spaces:
Runtime error
Runtime error
update
Browse files- .gitignore +2 -1
- README.md +1 -1
- app.py +25 -4
- db.py +11 -8
- requirements.txt +1 -2
.gitignore
CHANGED
|
@@ -18,4 +18,5 @@ data
|
|
| 18 |
data.db
|
| 19 |
data.json
|
| 20 |
rooms_data.db
|
| 21 |
-
sd-multiplayer-data/
|
|
|
|
|
|
| 18 |
data.db
|
| 19 |
data.json
|
| 20 |
rooms_data.db
|
| 21 |
+
sd-multiplayer-data/
|
| 22 |
+
diffusers-gallery-data/
|
README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
emoji: 🤖
|
| 4 |
colorFrom: red
|
| 5 |
colorTo: indigo
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Diffusers Gallery Bot
|
| 3 |
emoji: 🤖
|
| 4 |
colorFrom: red
|
| 5 |
colorTo: indigo
|
app.py
CHANGED
|
@@ -5,18 +5,30 @@ import aiohttp
|
|
| 5 |
import requests
|
| 6 |
import json
|
| 7 |
from tqdm import tqdm
|
| 8 |
-
|
| 9 |
from huggingface_hub import Repository
|
| 10 |
|
| 11 |
from fastapi import FastAPI, BackgroundTasks
|
| 12 |
from fastapi_utils.tasks import repeat_every
|
| 13 |
-
from fastapi.
|
| 14 |
|
| 15 |
from db import Database
|
| 16 |
|
| 17 |
HF_TOKEN = os.environ.get("HF_TOKEN")
|
| 18 |
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
|
| 22 |
async def check_image_url(url):
|
|
@@ -115,6 +127,13 @@ async def sync_data():
|
|
| 115 |
|
| 116 |
|
| 117 |
app = FastAPI()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
|
| 119 |
|
| 120 |
@ app.get("/sync")
|
|
@@ -152,7 +171,9 @@ def get_page(page: int = 1):
|
|
| 152 |
}
|
| 153 |
|
| 154 |
|
| 155 |
-
app.
|
|
|
|
|
|
|
| 156 |
|
| 157 |
# @app.on_event("startup")
|
| 158 |
# @repeat_every(seconds=1800)
|
|
|
|
| 5 |
import requests
|
| 6 |
import json
|
| 7 |
from tqdm import tqdm
|
| 8 |
+
from pathlib import Path
|
| 9 |
from huggingface_hub import Repository
|
| 10 |
|
| 11 |
from fastapi import FastAPI, BackgroundTasks
|
| 12 |
from fastapi_utils.tasks import repeat_every
|
| 13 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 14 |
|
| 15 |
from db import Database
|
| 16 |
|
| 17 |
HF_TOKEN = os.environ.get("HF_TOKEN")
|
| 18 |
|
| 19 |
+
|
| 20 |
+
DB_FOLDER = Path("diffusers-gallery-data")
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
repo = Repository(
|
| 24 |
+
local_dir=DB_FOLDER,
|
| 25 |
+
repo_type="dataset",
|
| 26 |
+
clone_from="huggingface-projects/diffusers-gallery-data",
|
| 27 |
+
use_auth_token=True,
|
| 28 |
+
)
|
| 29 |
+
repo.git_pull()
|
| 30 |
+
|
| 31 |
+
database = Database(DB_FOLDER)
|
| 32 |
|
| 33 |
|
| 34 |
async def check_image_url(url):
|
|
|
|
| 127 |
|
| 128 |
|
| 129 |
app = FastAPI()
|
| 130 |
+
app.add_middleware(
|
| 131 |
+
CORSMiddleware,
|
| 132 |
+
allow_origins=["*"],
|
| 133 |
+
allow_credentials=True,
|
| 134 |
+
allow_methods=["*"],
|
| 135 |
+
allow_headers=["*"],
|
| 136 |
+
)
|
| 137 |
|
| 138 |
|
| 139 |
@ app.get("/sync")
|
|
|
|
| 171 |
}
|
| 172 |
|
| 173 |
|
| 174 |
+
@app.get("/")
|
| 175 |
+
def read_root():
|
| 176 |
+
return "Just a bot to sync data from diffusers gallery"
|
| 177 |
|
| 178 |
# @app.on_event("startup")
|
| 179 |
# @repeat_every(seconds=1800)
|
db.py
CHANGED
|
@@ -2,22 +2,25 @@ import sqlite3
|
|
| 2 |
from pathlib import Path
|
| 3 |
|
| 4 |
|
| 5 |
-
class Database:
|
| 6 |
-
DB_PATH = Path("data/")
|
| 7 |
-
DB_FILE = DB_PATH / "models.db"
|
| 8 |
|
| 9 |
-
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
print("Creating database")
|
| 12 |
-
print("DB_FILE", self.
|
| 13 |
-
db = sqlite3.connect(self.
|
| 14 |
with open(Path("schema.sql"), "r") as f:
|
| 15 |
db.executescript(f.read())
|
| 16 |
db.commit()
|
| 17 |
db.close()
|
| 18 |
|
| 19 |
def get_db(self):
|
| 20 |
-
db = sqlite3.connect(self.
|
| 21 |
db.row_factory = sqlite3.Row
|
| 22 |
return db
|
| 23 |
|
|
|
|
| 2 |
from pathlib import Path
|
| 3 |
|
| 4 |
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
+
|
| 7 |
+
class Database:
|
| 8 |
+
def __init__(self, db_path=None):
|
| 9 |
+
if db_path is None:
|
| 10 |
+
raise ValueError("db_path must be provided")
|
| 11 |
+
self.db_path = db_path
|
| 12 |
+
self.db_file = self.db_path / "models.db"
|
| 13 |
+
if not self.db_file.exists():
|
| 14 |
print("Creating database")
|
| 15 |
+
print("DB_FILE", self.db_file)
|
| 16 |
+
db = sqlite3.connect(self.db_file)
|
| 17 |
with open(Path("schema.sql"), "r") as f:
|
| 18 |
db.executescript(f.read())
|
| 19 |
db.commit()
|
| 20 |
db.close()
|
| 21 |
|
| 22 |
def get_db(self):
|
| 23 |
+
db = sqlite3.connect(self.db_file, check_same_thread=False)
|
| 24 |
db.row_factory = sqlite3.Row
|
| 25 |
return db
|
| 26 |
|
requirements.txt
CHANGED
|
@@ -5,5 +5,4 @@ tqdm
|
|
| 5 |
fastapi
|
| 6 |
requests
|
| 7 |
asyncio
|
| 8 |
-
aiohttp
|
| 9 |
-
sqlite3
|
|
|
|
| 5 |
fastapi
|
| 6 |
requests
|
| 7 |
asyncio
|
| 8 |
+
aiohttp
|
|
|