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