docs: def get_mode(device_filter):
      """Determine which beacons the scanner should look for."""
      from .device_filters import IBeaconFilter, EddystoneFilter, BtAddrFilter, EstimoteFilter
      if device_filter is None or len(device_filter) == 0:
          return ScannerMode.MODE_ALL
  
      mode = ScannerMode.MODE_NONE
      for filtr in device_filter:
          if isinstance(filtr, IBeaconFilter):
              mode |= ScannerMode.MODE_IBEACON
          elif isinstance(filtr, EddystoneFilter):
              mode |= ScannerMode.MODE_EDDYSTONE
          elif isinstance(filtr, EstimoteFilter):
              mode |= ScannerMode.MODE_ESTIMOTE
          elif isinstance(filtr, BtAddrFilter):
              mode |= ScannerMode.MODE_ALL
              break
  
      return mode