Spaces:
Paused
Paused
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():
|