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

Method update_scan_mode

multi_interface.py:450–488  ·  view source on GitHub ↗
(self, mode: Optional[str] = None, focus_interface: Optional[str] = None)

Source from the content-addressed store, hash-verified

448 'interfaces': all_interfaces,
449 'scan_mode': self.get_scan_mode(),
450 'focus_interface': focus_name,
451 'focus_interface_connected': bool(focus_entry and focus_entry.get('connected')),
452 'focus_interface_ssid': focus_entry.get('connected_ssid') if focus_entry else None,
453 }
454 return payload
455
456 def set_scan_enabled(self, interface_name: str, enabled: bool) -> Dict:
457 """Override scan enable flag for a specific interface."""
458 with self._lock:
459 self.scan_overrides[interface_name] = bool(enabled)
460 self.shared_data.config['wifi_scan_interface_overrides'] = self.scan_overrides
461 self.shared_data.save_config()
462 if interface_name in self.interfaces:
463 self.interfaces[interface_name]['scan_enabled'] = bool(enabled)
464 if not enabled:
465 self.interfaces[interface_name]['reason'] = 'user_disabled'
466 else:
467 self.interfaces[interface_name]['reason'] = None
468 return self.interfaces[interface_name]
469 return {}
470
471 def get_scan_mode(self) -> str:
472 raw_mode = str(self.shared_data.config.get('wifi_multi_scan_mode', '') or '').strip().lower()
473 if raw_mode in (self.MODE_SINGLE, self.MODE_MULTI):
474 return raw_mode
475 legacy_enabled = bool(self.shared_data.config.get('wifi_multi_network_scans_enabled', False))
476 return self.MODE_MULTI if legacy_enabled else self.MODE_SINGLE
477
478 def is_multi_mode_enabled(self) -> bool:
479 return self.get_scan_mode() == self.MODE_MULTI
480
481 def get_focus_interface(self) -> Optional[str]:
482 focus = self.shared_data.config.get('wifi_multi_scan_focus_interface') or ''
483 focus = str(focus).strip()
484 return focus or None
485
486 def get_focus_job(self) -> Optional[ScanJob]:
487 focus_name = self.get_focus_interface()
488 if not focus_name:
489 return None
490 with self._lock:
491 entry = self.interfaces.get(focus_name)

Callers 2

_toggle_scan_interfaceFunction · 0.80
update_wifi_scan_modeFunction · 0.80

Calls 9

get_scan_modeMethod · 0.95
get_focus_interfaceMethod · 0.95
_auto_focus_interfaceMethod · 0.95
_refresh_focus_flagsMethod · 0.95
get_state_payloadMethod · 0.95
save_configMethod · 0.80
warningMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected