diff --git a/modules/Archive/database.py b/modules/Archive/database.py index 0010e45..fb7e425 100644 --- a/modules/Archive/database.py +++ b/modules/Archive/database.py @@ -16,7 +16,7 @@ class Database: app.databases["Archive"] = self - api.add_resource(Archive_Query, "/Archive/Query") + api.add_resource(Archive_Query, "/Archive/Query/") def reload_data(self): self.db = DatabaseController("/home/pi/python/Katbots/JapariArchive/database.db") \ No newline at end of file diff --git a/modules/KF3/downloader.py b/modules/KF3/downloader.py index dff781a..1951f65 100644 --- a/modules/KF3/downloader.py +++ b/modules/KF3/downloader.py @@ -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 = {} diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..7b8f933 --- /dev/null +++ b/run.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +gunicorn --bind 127.0.0.1:8081 --config gunicorn_config.py wsgi:app diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..4b8b86a --- /dev/null +++ b/update.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +python -m modules.KF3.downloader