Initial commit, Json formatting, engine, user, producer und meter erstellt.

This commit is contained in:
2024-04-12 16:52:15 +02:00
commit 46f2083490
19 changed files with 1027 additions and 0 deletions

56
server/main.py Normal file
View File

@@ -0,0 +1,56 @@
from flask import Flask, request, jsonify, abort
import os
app = Flask(__name__)
TOKENS_FILE = "tokens.txt"
CONFIG_DIR = "configs"
@app.route('/getconfig', methods=['POST'])
def get_config():
# Überprüfe, ob die erforderlichen Daten im Request vorhanden sind
if not request.json or 'token' not in request.json or 'data' not in request.json:
abort(400, 'Bad request. JSON data with "token" and "data" is required.')
token = request.json['token']
data = request.json['data']
# Überprüfe, ob der Token gültig ist
if not is_valid_token(token):
abort(401, 'Unauthorized. Invalid token.')
# Speichere die Daten in einem Datei für das entsprechende Token
save_data(token, data)
# Lade die Konfigurationsdatei für das Token
config = load_config(token)
return jsonify(config)
def is_valid_token(token):
# Überprüfe, ob der Token in der tokens.txt Datei vorhanden ist
with open(TOKENS_FILE, 'r') as file:
tokens = file.read().splitlines()
return token in tokens
def save_data(token, data):
# Erstelle das Verzeichnis für die Konfigurationsdateien, falls es nicht existiert
if not os.path.exists(CONFIG_DIR):
os.makedirs(CONFIG_DIR)
# Speichere die Daten in einer Datei für das entsprechende Token
with open(os.path.join(CONFIG_DIR, f'{token}.json'), 'w') as file:
file.write(jsonify(data))
def load_config(token):
config_file = os.path.join(CONFIG_DIR, f'{token}.json')
# Lade die Konfigurationsdatei für das Token
if os.path.exists(config_file):
with open(config_file, 'r') as file:
return json.load(file)
else:
return {}
if __name__ == '__main__':
app.run(debug=True)