Spaces:
Build error
Build error
Commit
·
0cb1c6a
1
Parent(s):
1103f52
server stat api
Browse files
app.py
CHANGED
|
@@ -7,6 +7,8 @@ from hf_scrapper import download_file, get_system_proxies, get_download_progress
|
|
| 7 |
from indexer import indexer
|
| 8 |
from tvdb import fetch_and_cache_json
|
| 9 |
import re
|
|
|
|
|
|
|
| 10 |
|
| 11 |
app = Flask(__name__)
|
| 12 |
|
|
@@ -169,6 +171,47 @@ def get_metadata():
|
|
| 169 |
|
| 170 |
return jsonify({'error': 'Metadata not found'}), 404
|
| 171 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 172 |
# Routes
|
| 173 |
@app.route('/')
|
| 174 |
def index():
|
|
|
|
| 7 |
from indexer import indexer
|
| 8 |
from tvdb import fetch_and_cache_json
|
| 9 |
import re
|
| 10 |
+
import psutil
|
| 11 |
+
import shutil
|
| 12 |
|
| 13 |
app = Flask(__name__)
|
| 14 |
|
|
|
|
| 171 |
|
| 172 |
return jsonify({'error': 'Metadata not found'}), 404
|
| 173 |
|
| 174 |
+
@app.route('/api/stats', methods=['GET'])
|
| 175 |
+
def get_server_stats():
|
| 176 |
+
"""Endpoint to get server statistics like RAM usage, CPU usage, and storage details."""
|
| 177 |
+
# RAM usage
|
| 178 |
+
ram = psutil.virtual_memory()
|
| 179 |
+
ram_total = ram.total
|
| 180 |
+
ram_available = ram.available
|
| 181 |
+
ram_used = ram.used
|
| 182 |
+
ram_percent = ram.percent
|
| 183 |
+
|
| 184 |
+
# CPU usage
|
| 185 |
+
cpu_percent = psutil.cpu_percent(interval=1)
|
| 186 |
+
|
| 187 |
+
# Disk usage
|
| 188 |
+
disk = shutil.disk_usage("/")
|
| 189 |
+
disk_total = disk.total
|
| 190 |
+
disk_used = disk.used
|
| 191 |
+
disk_free = disk.free
|
| 192 |
+
disk_percent = (disk_used / disk_total) * 100
|
| 193 |
+
|
| 194 |
+
stats = {
|
| 195 |
+
"ram": {
|
| 196 |
+
"total": ram_total,
|
| 197 |
+
"available": ram_available,
|
| 198 |
+
"used": ram_used,
|
| 199 |
+
"percent": ram_percent
|
| 200 |
+
},
|
| 201 |
+
"cpu": {
|
| 202 |
+
"percent": cpu_percent
|
| 203 |
+
},
|
| 204 |
+
"disk": {
|
| 205 |
+
"total": disk_total,
|
| 206 |
+
"used": disk_used,
|
| 207 |
+
"free": disk_free,
|
| 208 |
+
"percent": disk_percent
|
| 209 |
+
}
|
| 210 |
+
}
|
| 211 |
+
|
| 212 |
+
return jsonify(stats)
|
| 213 |
+
|
| 214 |
+
|
| 215 |
# Routes
|
| 216 |
@app.route('/')
|
| 217 |
def index():
|