diff --git a/app.py b/app.py index ebf91b5..654815d 100644 --- a/app.py +++ b/app.py @@ -1,7 +1,7 @@ from flask import Flask, render_template -from utils.listenbrainz import listenbrainz_bp -from utils.steam import steam_bp +from controller.listenbrainz import listenbrainz_bp +from controller.steam import steam_bp app = Flask(__name__) app.register_blueprint(listenbrainz_bp) diff --git a/controller/listenbrainz.py b/controller/listenbrainz.py new file mode 100644 index 0000000..28d7f2a --- /dev/null +++ b/controller/listenbrainz.py @@ -0,0 +1,17 @@ +from utils.listenbrainzutils import _HISTORY_CACHE, _HISTORY_LOCK, HISTORY_TTL, _NOW_CACHE, _NOW_LOCK, NOW_TTL, LB_USERNAME, _fetch_recent, _fetch_now, _serve +from flask import Blueprint, jsonify + +listenbrainz_bp = Blueprint("listenbrainz", __name__) + +@listenbrainz_bp.route("/api/listenbrainz/recent") +def listenbrainz_recent(): + if not LB_USERNAME: + return jsonify(ok=False, error="LISTENBRAINZ_USERNAME is not set"), 503 + return _serve(_HISTORY_CACHE, _HISTORY_LOCK, HISTORY_TTL, _fetch_recent) + + +@listenbrainz_bp.route("/api/listenbrainz/now") +def listenbrainz_now(): + if not LB_USERNAME: + return jsonify(ok=False, error="LISTENBRAINZ_USERNAME is not set"), 503 + return _serve(_NOW_CACHE, _NOW_LOCK, NOW_TTL, _fetch_now) diff --git a/controller/steam.py b/controller/steam.py new file mode 100644 index 0000000..99360c5 --- /dev/null +++ b/controller/steam.py @@ -0,0 +1,10 @@ +from utils.steamutils import STEAM_API_KEY, _serve +from flask import Blueprint, jsonify + +steam_bp = Blueprint("steam", __name__) + +@steam_bp.route("/api/steam/activity") +def steam_activity(): + if not STEAM_API_KEY: + return jsonify(ok=False, error="STEAM_API_KEY is not set"), 503 + return _serve() diff --git a/utils/__init__.py b/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/utils/listenbrainz.py b/utils/listenbrainzutils.py similarity index 87% rename from utils/listenbrainz.py rename to utils/listenbrainzutils.py index 23465e3..cf0fdfd 100644 --- a/utils/listenbrainz.py +++ b/utils/listenbrainzutils.py @@ -6,9 +6,7 @@ import time import urllib.parse import urllib.request -from flask import Blueprint, jsonify - -listenbrainz_bp = Blueprint("listenbrainz", __name__) +from flask import jsonify LB_USERNAME = os.environ.get("LISTENBRAINZ_USERNAME", "").strip() LB_TOKEN = os.environ.get("LISTENBRAINZ_TOKEN", "").strip() @@ -130,17 +128,3 @@ def _serve(cache, lock, ttl, fetch): cache["at"] = now cache["payload"] = payload return jsonify(payload), 200 - - -@listenbrainz_bp.route("/api/listenbrainz/recent") -def listenbrainz_recent(): - if not LB_USERNAME: - return jsonify(ok=False, error="LISTENBRAINZ_USERNAME is not set"), 503 - return _serve(_HISTORY_CACHE, _HISTORY_LOCK, HISTORY_TTL, _fetch_recent) - - -@listenbrainz_bp.route("/api/listenbrainz/now") -def listenbrainz_now(): - if not LB_USERNAME: - return jsonify(ok=False, error="LISTENBRAINZ_USERNAME is not set"), 503 - return _serve(_NOW_CACHE, _NOW_LOCK, NOW_TTL, _fetch_now) diff --git a/utils/steam.py b/utils/steamutils.py similarity index 95% rename from utils/steam.py rename to utils/steamutils.py index b7fbe5e..0e765ca 100644 --- a/utils/steam.py +++ b/utils/steamutils.py @@ -6,9 +6,8 @@ import urllib.error import urllib.parse import urllib.request -from flask import Blueprint, jsonify -steam_bp = Blueprint("steam", __name__) +from flask import jsonify STEAM_API_KEY = os.environ.get("STEAM_API_KEY", "").strip() STEAM_ID = os.environ.get("STEAM_ID", "76561199137306791").strip() @@ -161,10 +160,3 @@ def _serve(): _CACHE["at"] = now _CACHE["payload"] = payload return jsonify(payload), 200 - - -@steam_bp.route("/api/steam/activity") -def steam_activity(): - if not STEAM_API_KEY: - return jsonify(ok=False, error="STEAM_API_KEY is not set"), 503 - return _serve()