diff --git a/wifi/scan.py b/wifi/scan.py index e93ac4b..77104ca 100644 --- a/wifi/scan.py +++ b/wifi/scan.py @@ -20,12 +20,15 @@ def __repr__(self): return 'Cell(ssid={ssid})'.format(**vars(self)) @classmethod - def all(cls, interface): + def all(cls, interface, sudo=False): """ Returns a list of all cells extracted from the output of iwlist. """ + args = ['/sbin/iwlist', interface, 'scan'] + if sudo: + args.insert(0, 'sudo') try: - iwlist_scan = subprocess.check_output(['/sbin/iwlist', interface, 'scan'], + iwlist_scan = subprocess.check_output(args, stderr=subprocess.STDOUT) except subprocess.CalledProcessError as e: raise InterfaceError(e.output.strip())