MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / get_system_status_api

Function get_system_status_api

webapp_modern.py:16481–16630  ·  view source on GitHub ↗

Get comprehensive system status

()

Source from the content-addressed store, hash-verified

16479 'ap_mode': True,
16480 'interface': effective_interface
16481 })
16482 else:
16483 return jsonify({
16484 'networks': networks,
16485 'known': known_networks,
16486 'success': True,
16487 'ap_mode': True,
16488 'interface': effective_interface
16489 })
16490 else:
16491 # Regular scanning when not in AP mode
16492 networks = manager.scan_networks(interface=requested_interface)
16493 return jsonify({
16494 'networks': networks,
16495 'known': known_networks,
16496 'success': True,
16497 'ap_mode': False,
16498 'interface': effective_interface
16499 })
16500 else:
16501 return jsonify({
16502 'error': 'Wi-Fi manager not available',
16503 'manual_entry_available': True
16504 }), 503
16505 except Exception as e:
16506 logger.error(f"Error scanning Wi-Fi networks: {e}")
16507 # Fallback to cached networks if scanning fails
16508 try:
16509 wifi_manager = getattr(shared_data, 'ragnar_instance', None)
16510 if wifi_manager and hasattr(wifi_manager, 'wifi_manager'):
16511 known_networks = wifi_manager.wifi_manager.get_known_networks()
16512 return jsonify({
16513 'networks': known_networks,
16514 'known': known_networks,
16515 'warning': 'Live scan failed, showing known networks only',
16516 'manual_entry_available': True
16517 })
16518 except:
16519 pass
16520
16521 return jsonify({
16522 'networks': [],
16523 'known': [],
16524 'error': 'Scanning failed',
16525 'manual_entry_available': True
16526 }), 500
16527
16528@app.route('/api/wifi/networks')
16529def get_wifi_networks():
16530 """Get available and known Wi-Fi networks - optimized for Pi Zero W2 AP mode"""
16531 try:
16532 try:
16533 requested_interface = _parse_wifi_interface_arg(request.args.get('interface'))
16534 except ValueError as invalid_iface:
16535 return jsonify({'success': False, 'error': str(invalid_iface)}), 400
16536 wifi_manager = getattr(shared_data, 'ragnar_instance', None)
16537 if wifi_manager and hasattr(wifi_manager, 'wifi_manager'):
16538 manager = wifi_manager.wifi_manager

Callers

nothing calls this directly

Calls 10

format_bytesFunction · 0.85
format_uptimeFunction · 0.85
appendMethod · 0.80
sortMethod · 0.80
get_battery_levelMethod · 0.80
get_battery_voltageMethod · 0.80
is_chargingMethod · 0.80
get_modelMethod · 0.80
errorMethod · 0.80
itemsMethod · 0.45

Tested by

no test coverage detected