This commit is contained in:
2024-02-01 09:05:14 +01:00
parent 45a0f516ea
commit b6862eb429
28 changed files with 1792 additions and 1331 deletions

View File

@@ -0,0 +1,30 @@
from flask_restful import Resource
from flask import current_app as app
from flask import request
import json
class KF3_Friend(Resource):
def get(self, id:int):
from KF3.database import Database
db : Database = app.databases["KF3"]
if "wiki" in request.args:
result = db.get_chara_wiki(id)
response = app.response_class(
response=result,
status=200,
mimetype='text/plain'
)
else:
result = db.get_chara(id)
result = json.dumps(result, ensure_ascii=False, indent=1)
response = app.response_class(
response=result,
status=200,
mimetype='application/json'
)
response.headers.add("Access-Control-Allow-Origin", "*")
return response

View File

@@ -0,0 +1,28 @@
import json
from flask_restful import Resource
from flask import current_app as app
from flask import request
class KF3_Friends(Resource):
def get(self):
from KF3.database import Database
db : Database = app.databases["KF3"]
result = []
for value in db.processed_friends.values():
result.append({"id": value["id"], "name": value["nameEn"], "startTime" : value["startTime"], "startTimeRaw" : value["startTimeRaw"]})
sort_arg = request.args["sort"] if "sort" in request.args and request.args["sort"] in result[0] else "id"
if sort_arg == "startTime":
sort_arg = "startTimeRaw"
result = sorted(result, key=lambda f: f[sort_arg])
response = app.response_class(
response=json.dumps(result, ensure_ascii=False, indent=1),
status=200,
mimetype='application/json'
)
response.headers.add("Access-Control-Allow-Origin", "*")
return response

View File

@@ -0,0 +1,21 @@
from flask_restful import Resource
from flask import current_app as app
from flask import request_tearing_down
import json
class KF3_Item(Resource):
def get(self, id:int):
from KF3.database import Database
db : Database = app.databases["KF3"]
result = db.get_item(id)
result = json.dumps(result, ensure_ascii=False, indent=1)
response = app.response_class(
response=result,
status=200,
mimetype='application/json'
)
response.headers.add("Access-Control-Allow-Origin", "*")
return response

View File

@@ -0,0 +1,21 @@
import json
from flask_restful import Resource
from flask import current_app as app
class KF3_Items(Resource):
def get(self):
from KF3.database import Database
db : Database = app.databases["KF3"]
result = []
for value in db.itemCommon.values():
result.append({"id": value["id"], "name": value["name"]})
response = app.response_class(
response=json.dumps(result, ensure_ascii=False, indent=1),
status=200,
mimetype='application/json'
)
response.headers.add("Access-Control-Allow-Origin", "*")
return response

View File

@@ -0,0 +1,36 @@
import asyncio
from flask_restful import Resource
from flask import current_app as app
from ..downloader import manual
class KF3_Update(Resource):
def post(self):
from ..database import Database
db : Database = app.databases["KF3"]
if db.update_in_progress:
response = app.response_class(
response="update in progress",
status=200,
mimetype='text/plain'
)
else:
self.perform_update()
response = app.response_class(
response="update started, reload the site in a while",
status=200,
mimetype='text/plain'
)
response.headers.add("Access-Control-Allow-Origin", "*")
return response
def get(self):
return self.post()
def perform_update(self):
from ..database import Database
db : Database = app.databases["KF3"]
print("Update")
#await manual()
db.reload_data()