diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/__init__.py b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/__init__.py index 699cdbd4..383e0200 100644 --- a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/__init__.py +++ b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/__init__.py @@ -6,8 +6,6 @@ import sys try: - import tkinter - import cv2 import PIL diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/components/__init__.py b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/components/__init__.py deleted file mode 100644 index 9cbcfff8..00000000 --- a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/components/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# __init__.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). -# This copyright was auto-generated on Wed Aug 17 20:05:18 UTC 2022 - -"""Common GUI functionality""" - -import platform -from typing import Union - -from open_gopro.api import ( - BleCommands, - BleSettings, - BleStatuses, - HttpCommands, - HttpSettings, -) -from open_gopro.api.builders import BleMessage, HttpMessage - -if (OS := platform.system().lower()) == "windows": - THEME = "vista" -elif OS == "darwin": - THEME = "aqua" -else: - THEME = "default" diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/preview_stream.py b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/preview_stream.py index 1334eb05..23a2ed29 100644 --- a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/preview_stream.py +++ b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/preview_stream.py @@ -9,7 +9,7 @@ from rich.console import Console from open_gopro import Params, WirelessGoPro -from open_gopro.demos.gui.components.util import display_video_blocking +from open_gopro.demos.gui.util import display_video_blocking from open_gopro.logger import setup_logging from open_gopro.util import add_cli_args_and_parse diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/components/util.py b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/util.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/components/util.py rename to demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/util.py diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/webcam.py b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/webcam.py index 5e090628..3f1d7798 100644 --- a/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/webcam.py +++ b/demos/python/sdk_wireless_camera_control/open_gopro/demos/gui/webcam.py @@ -12,7 +12,7 @@ from open_gopro import Params, WiredGoPro, WirelessGoPro from open_gopro.constants import WebcamError, WebcamStatus -from open_gopro.demos.gui.components.util import display_video_blocking +from open_gopro.demos.gui.util import display_video_blocking from open_gopro.gopro_base import GoProBase from open_gopro.logger import setup_logging from open_gopro.util import add_cli_args_and_parse diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/wifi/adapters/wireless.py b/demos/python/sdk_wireless_camera_control/open_gopro/wifi/adapters/wireless.py index 43eb6909..200f7911 100644 --- a/demos/python/sdk_wireless_camera_control/open_gopro/wifi/adapters/wireless.py +++ b/demos/python/sdk_wireless_camera_control/open_gopro/wifi/adapters/wireless.py @@ -712,23 +712,11 @@ def connect(self, ssid: str, password: str, timeout: float = 15) -> bool: discovered = False while not discovered and (time.time() - start) <= timeout: # Scan for network - # Surprisingly, yes this is the industry standard location for this and no, there's no shortcut for it - response = cmd( - r"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport --scan" - ) - # TODO Sometimes the response is blank? - if not response: - logger.warning("MacOS did not return a response to SSID scanning.") - continue - lines = response.splitlines() - ssid_end_index = lines[0].index("SSID") + 4 # Find where the SSID column ends - - for result in lines[1:]: # Skip title row - current_ssid = result[:ssid_end_index].strip() - if current_ssid == ssid.strip(): - discovered = True - break - if discovered: + response = cmd(r"/usr/sbin/system_profiler SPAirPortDataType") + regex = re.compile( + r"\n\s+([\x20-\x7E]{1,32}):\n\s+PHY Mode:" + ) # 0x20...0x7E --> ASCII for printable characters + if ssid in sorted(regex.findall(response)): break time.sleep(1) else: