forked from tpd94/CDRM-Project
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from flask import Blueprint, request, jsonify, session
|
|
import os
|
|
import glob
|
|
import logging
|
|
from custom_functions.database.user_db import (
|
|
fetch_api_key,
|
|
fetch_styled_username,
|
|
fetch_username_by_api_key,
|
|
)
|
|
|
|
user_info_bp = Blueprint("user_info_bp", __name__)
|
|
|
|
|
|
@user_info_bp.route("/userinfo", methods=["POST"])
|
|
def user_info():
|
|
username = session.get("username")
|
|
if not username:
|
|
try:
|
|
headers = request.headers
|
|
api_key = headers["Api-Key"]
|
|
username = fetch_username_by_api_key(api_key)
|
|
except:
|
|
return jsonify({"message": "False"}), 400
|
|
|
|
try:
|
|
base_path = os.path.join(os.getcwd(), "configs", "CDMs", username.lower())
|
|
pr_files = [
|
|
os.path.basename(f)
|
|
for f in glob.glob(os.path.join(base_path, "PR", "*.prd"))
|
|
]
|
|
wv_files = [
|
|
os.path.basename(f)
|
|
for f in glob.glob(os.path.join(base_path, "WV", "*.wvd"))
|
|
]
|
|
|
|
return jsonify(
|
|
{
|
|
"Username": username,
|
|
"Widevine_Devices": wv_files,
|
|
"Playready_Devices": pr_files,
|
|
"API_Key": fetch_api_key(username),
|
|
"Styled_Username": fetch_styled_username(username),
|
|
}
|
|
)
|
|
except Exception as e:
|
|
logging.exception("Error retrieving device files")
|
|
return jsonify({"message": "False"}), 500
|