This commit is contained in:
katboi01 2024-12-26 16:08:16 +01:00
parent 2b121be258
commit 76b6c6cb79
5 changed files with 52 additions and 6 deletions

View File

@ -4,8 +4,6 @@ from .endpoints.query import Archive_Query
class Database:
db : DatabaseController = None
processed_friends = {}
item_stages = {}
def __init__(self, api) -> None:
app = api.app

View File

@ -1,12 +1,14 @@
import json
from flask_restful import Resource
from flask import current_app as app, jsonify
from flask import current_app as app, jsonify, request
class Archive_Query(Resource):
def post(self, query:str):
def post(self):
query = request.data.decode("utf-8")
db = app.databases["Archive"]
result = db.run_query(query)
result = db.db.run_query(query)
if result is None:
response = app.response_class(status=400)

View File

@ -82,7 +82,10 @@ async def download_cache(server_name, server : str):
file.write(data)
with open(file_path_json, "wt", encoding="utf-8") as out_file:
data = gzip.decompress(data)
json.dump(json.loads(data), out_file, ensure_ascii=False, indent=1)
data = json.loads(data)
# if key == "GACHA_DATA":
# download_banners(data, server_name)
json.dump(data, out_file, ensure_ascii=False, indent=1)
old_mst_ver[key] = new_mst_ver[key]
@ -93,6 +96,36 @@ async def download_cache(server_name, server : str):
await session.close()
return downloaded_files
async def download_banners(gacha_data, server_name, session):
path = f"/var/www/html/Katworks/KF/assets/KF3/{server_name}/banners/"
os.makedirs(path, exist_ok=True)
for entry in gacha_data:
banner_name = entry["banner"]
if banner_name == "" or banner_name == None:
continue
banner_name += ".png"
file_path = path + banner_name
if os.path.exists(file_path):
continue
file_url = "https://parade-mobile-prod-cdn.kemono-friends-3.jp/Texture2D/GachaTop/" + banner_name
file_url_alt = "https://parade-mobile-develop01-app.kemono-friends-3.jp/Texture2D/GachaTop/" + banner_name
status = 0
async with session.get(file_url) as resp:
response = await resp.read()
status = resp.status
if status != 200:
async with session.get(file_url_alt) as resp:
response = await resp.read()
status = resp.status
if status != 200: continue
with open(file_path, "wb") as file:
file.write(response)
async def download_files(server_name, asset_bundle_url, srv_platform : str):
def parse_ab_list(filecontent : str):
out = {}
@ -194,6 +227,15 @@ async def convert_files():
print("Conversion failed", f)
async def manual():
# session = aiohttp.ClientSession()
# path = f"/var/www/html/Katworks/KF/assets/KF3/{server_name}/cache/"
# await session.close()
# return
downloaded_cache = {}
downloaded_files = {}

2
run.sh Normal file
View File

@ -0,0 +1,2 @@
#!/usr/bin/env bash
gunicorn --bind 127.0.0.1:8081 --config gunicorn_config.py wsgi:app

2
update.sh Normal file
View File

@ -0,0 +1,2 @@
#!/usr/bin/env bash
python -m modules.KF3.downloader