From 04b9f39fb9b7fa964f3c72a2cc9d4fa2888b58c1 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 22 Apr 2022 17:44:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E5=BD=95=E4=BD=8D=E7=BD=AE=E5=8F=8A?= =?UTF-8?q?=E5=AE=B9=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/api/collector_blueprint.py | 26 ++++++++++++++++++++++++- templates/index.html | 28 ++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/controller/api/collector_blueprint.py b/controller/api/collector_blueprint.py index 5d2a161..2a31267 100644 --- a/controller/api/collector_blueprint.py +++ b/controller/api/collector_blueprint.py @@ -1,15 +1,39 @@ +import os.path import platform +import psutil from flask import Blueprint, jsonify + +from config import DANMAKU_FACTORY_EXEC, FFMPEG_EXEC, BILILIVE_RECORDER_DIRECTORY, XIGUALIVE_RECORDER_DIRECTORY from util.system import check_exec -from config import DANMAKU_FACTORY_EXEC, FFMPEG_EXEC blueprint = Blueprint("api_collector", __name__, url_prefix="/api/collector") +def _get_disk_info(path): + if os.path.isdir(path): + disk_info = psutil.disk_usage(path) + return { + 'exist': True, + 'percent': disk_info.percent, + 'free': disk_info.free / (1024 ** 2), + 'total': disk_info.total / (1024 ** 2) + } + else: + return { + 'exist': False, + 'percent': 0, + 'free': 0, + 'total': 0 + } + @blueprint.get("/") def collect_basic_status(): return jsonify({ + 'disk': { + 'bili': _get_disk_info(BILILIVE_RECORDER_DIRECTORY), + 'xigua': _get_disk_info(XIGUALIVE_RECORDER_DIRECTORY) + }, 'exec': { 'ffmpeg': check_exec(FFMPEG_EXEC), 'danmaku': check_exec(DANMAKU_FACTORY_EXEC), diff --git a/templates/index.html b/templates/index.html index 60ca433..abee353 100644 --- a/templates/index.html +++ b/templates/index.html @@ -124,11 +124,19 @@