Added archive module
This commit is contained in:
parent
eefb47476a
commit
2b121be258
2
app.py
2
app.py
|
@ -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)
|
|
@ -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")
|
|
@ -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()
|
|
@ -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
|
Loading…
Reference in New Issue