Added archive module

This commit is contained in:
katboi01 2024-12-26 15:54:55 +01:00
parent eefb47476a
commit 2b121be258
4 changed files with 66 additions and 0 deletions

2
app.py
View File

@ -3,6 +3,7 @@ from flask_restful import Api
from modules.KF3.database import Database as KF3DB
from modules.Kingdom.database import Database as KFKDB
from modules.Archive.database import Database as KFADB
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
@ -12,6 +13,7 @@ api = Api(app)
KF3DB(api)
KFKDB(api)
KFADB(api)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)

View File

@ -0,0 +1,22 @@
import json
from .databaseController import DatabaseController
from .endpoints.query import Archive_Query
class Database:
db : DatabaseController = None
processed_friends = {}
item_stages = {}
def __init__(self, api) -> None:
app = api.app
if "Archive" in app.databases:
del app.databases["Archive"]
self.reload_data()
app.databases["Archive"] = self
api.add_resource(Archive_Query, "/Archive/Query")
def reload_data(self):
self.db = DatabaseController("/home/pi/python/Katbots/JapariArchive/database.db")

View File

@ -0,0 +1,21 @@
import os
import sqlite3
TABLE_ACCOUNTS = "accounts"
TABLE_X = "x_posts"
class DatabaseController:
def __init__(self, db_name):
self.conn = sqlite3.connect(db_name, isolation_level="DEFERRED")
self.cursor = self.conn.cursor()
def run_query(self, query):
try:
self.cursor.execute(query)
results = self.cursor.fetchall()
return results
except:
return None
def close(self):
self.conn.close()

View File

@ -0,0 +1,21 @@
import json
from flask_restful import Resource
from flask import current_app as app, jsonify
class Archive_Query(Resource):
def post(self, query:str):
db = app.databases["Archive"]
result = db.run_query(query)
if result is None:
response = app.response_class(status=400)
else:
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