Skip to content

Commit ecc08fc

Browse files
authored
Reduce naming verbosity in Bang & Olufsen (home-assistant#157825)
1 parent 375f536 commit ecc08fc

File tree

13 files changed

+231
-242
lines changed

13 files changed

+231
-242
lines changed

homeassistant/components/bang_olufsen/__init__.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,29 @@
2121
from homeassistant.util.ssl import get_default_context
2222

2323
from .const import DOMAIN
24-
from .websocket import BangOlufsenWebsocket
24+
from .websocket import BeoWebsocket
2525

2626

2727
@dataclass
28-
class BangOlufsenData:
28+
class BeoData:
2929
"""Dataclass for API client and WebSocket client."""
3030

31-
websocket: BangOlufsenWebsocket
31+
websocket: BeoWebsocket
3232
client: MozartClient
3333

3434

35-
type BangOlufsenConfigEntry = ConfigEntry[BangOlufsenData]
35+
type BeoConfigEntry = ConfigEntry[BeoData]
3636

3737
PLATFORMS = [Platform.EVENT, Platform.MEDIA_PLAYER]
3838

3939

40-
async def async_setup_entry(hass: HomeAssistant, entry: BangOlufsenConfigEntry) -> bool:
40+
async def async_setup_entry(hass: HomeAssistant, entry: BeoConfigEntry) -> bool:
4141
"""Set up from a config entry."""
4242

4343
# Remove casts to str
4444
assert entry.unique_id
4545

46-
# Create device now as BangOlufsenWebsocket needs a device for debug logging, firing events etc.
46+
# Create device now as BeoWebsocket needs a device for debug logging, firing events etc.
4747
device_registry = dr.async_get(hass)
4848
device_registry.async_get_or_create(
4949
config_entry_id=entry.entry_id,
@@ -68,10 +68,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: BangOlufsenConfigEntry)
6868
await client.close_api_client()
6969
raise ConfigEntryNotReady(f"Unable to connect to {entry.title}") from error
7070

71-
websocket = BangOlufsenWebsocket(hass, entry, client)
71+
websocket = BeoWebsocket(hass, entry, client)
7272

7373
# Add the websocket and API client
74-
entry.runtime_data = BangOlufsenData(websocket, client)
74+
entry.runtime_data = BeoData(websocket, client)
7575

7676
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
7777

@@ -82,9 +82,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: BangOlufsenConfigEntry)
8282
return True
8383

8484

85-
async def async_unload_entry(
86-
hass: HomeAssistant, entry: BangOlufsenConfigEntry
87-
) -> bool:
85+
async def async_unload_entry(hass: HomeAssistant, entry: BeoConfigEntry) -> bool:
8886
"""Unload a config entry."""
8987
# Close the API client and WebSocket notification listener
9088
entry.runtime_data.client.disconnect_notifications()

homeassistant/components/bang_olufsen/config_flow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class EntryData(TypedDict, total=False):
4747
}
4848

4949

50-
class BangOlufsenConfigFlowHandler(ConfigFlow, domain=DOMAIN):
50+
class BeoConfigFlowHandler(ConfigFlow, domain=DOMAIN):
5151
"""Handle a config flow."""
5252

5353
_beolink_jid = ""

homeassistant/components/bang_olufsen/const.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
)
1515

1616

17-
class BangOlufsenSource:
17+
class BeoSource:
1818
"""Class used for associating device source ids with friendly names. May not include all sources."""
1919

2020
DEEZER: Final[Source] = Source(name="Deezer", id="deezer")
@@ -26,7 +26,7 @@ class BangOlufsenSource:
2626
URI_STREAMER: Final[Source] = Source(name="Audio Streamer", id="uriStreamer")
2727

2828

29-
BANG_OLUFSEN_STATES: dict[str, MediaPlayerState] = {
29+
BEO_STATES: dict[str, MediaPlayerState] = {
3030
# Dict used for translating device states to Home Assistant states.
3131
"started": MediaPlayerState.PLAYING,
3232
"buffering": MediaPlayerState.PLAYING,
@@ -40,19 +40,19 @@ class BangOlufsenSource:
4040
}
4141

4242
# Dict used for translating Home Assistant settings to device repeat settings.
43-
BANG_OLUFSEN_REPEAT_FROM_HA: dict[RepeatMode, str] = {
43+
BEO_REPEAT_FROM_HA: dict[RepeatMode, str] = {
4444
RepeatMode.ALL: "all",
4545
RepeatMode.ONE: "track",
4646
RepeatMode.OFF: "none",
4747
}
4848
# Dict used for translating device repeat settings to Home Assistant settings.
49-
BANG_OLUFSEN_REPEAT_TO_HA: dict[str, RepeatMode] = {
50-
value: key for key, value in BANG_OLUFSEN_REPEAT_FROM_HA.items()
49+
BEO_REPEAT_TO_HA: dict[str, RepeatMode] = {
50+
value: key for key, value in BEO_REPEAT_FROM_HA.items()
5151
}
5252

5353

5454
# Media types for play_media
55-
class BangOlufsenMediaType(StrEnum):
55+
class BeoMediaType(StrEnum):
5656
"""Bang & Olufsen specific media types."""
5757

5858
FAVOURITE = "favourite"
@@ -63,7 +63,7 @@ class BangOlufsenMediaType(StrEnum):
6363
OVERLAY_TTS = "overlay_tts"
6464

6565

66-
class BangOlufsenModel(StrEnum):
66+
class BeoModel(StrEnum):
6767
"""Enum for compatible model names."""
6868

6969
# Mozart devices
@@ -82,7 +82,7 @@ class BangOlufsenModel(StrEnum):
8282
BEOREMOTE_ONE = "Beoremote One"
8383

8484

85-
class BangOlufsenAttribute(StrEnum):
85+
class BeoAttribute(StrEnum):
8686
"""Enum for extra_state_attribute keys."""
8787

8888
BEOLINK = "beolink"
@@ -93,7 +93,7 @@ class BangOlufsenAttribute(StrEnum):
9393

9494

9595
# Physical "buttons" on devices
96-
class BangOlufsenButtons(StrEnum):
96+
class BeoButtons(StrEnum):
9797
"""Enum for device buttons."""
9898

9999
BLUETOOTH = "Bluetooth"
@@ -140,15 +140,15 @@ class WebsocketNotification(StrEnum):
140140
DOMAIN: Final[str] = "bang_olufsen"
141141

142142
# Default values for configuration.
143-
DEFAULT_MODEL: Final[str] = BangOlufsenModel.BEOSOUND_BALANCE
143+
DEFAULT_MODEL: Final[str] = BeoModel.BEOSOUND_BALANCE
144144

145145
# Configuration.
146146
CONF_SERIAL_NUMBER: Final = "serial_number"
147147
CONF_BEOLINK_JID: Final = "jid"
148148

149149
# Models to choose from in manual configuration.
150150
SELECTABLE_MODELS: list[str] = [
151-
model.value for model in BangOlufsenModel if model != BangOlufsenModel.BEOREMOTE_ONE
151+
model.value for model in BeoModel if model != BeoModel.BEOREMOTE_ONE
152152
]
153153

154154
MANUFACTURER: Final[str] = "Bang & Olufsen"
@@ -160,15 +160,15 @@ class WebsocketNotification(StrEnum):
160160
ATTR_FRIENDLY_NAME: Final[str] = "fn"
161161

162162
# Power states.
163-
BANG_OLUFSEN_ON: Final[str] = "on"
163+
BEO_ON: Final[str] = "on"
164164

165165
VALID_MEDIA_TYPES: Final[tuple] = (
166-
BangOlufsenMediaType.FAVOURITE,
167-
BangOlufsenMediaType.DEEZER,
168-
BangOlufsenMediaType.RADIO,
169-
BangOlufsenMediaType.TTS,
170-
BangOlufsenMediaType.TIDAL,
171-
BangOlufsenMediaType.OVERLAY_TTS,
166+
BeoMediaType.FAVOURITE,
167+
BeoMediaType.DEEZER,
168+
BeoMediaType.RADIO,
169+
BeoMediaType.TTS,
170+
BeoMediaType.TIDAL,
171+
BeoMediaType.OVERLAY_TTS,
172172
MediaType.MUSIC,
173173
MediaType.URL,
174174
MediaType.CHANNEL,
@@ -246,7 +246,7 @@ class WebsocketNotification(StrEnum):
246246
)
247247

248248
# Device events
249-
BANG_OLUFSEN_WEBSOCKET_EVENT: Final[str] = f"{DOMAIN}_websocket_event"
249+
BEO_WEBSOCKET_EVENT: Final[str] = f"{DOMAIN}_websocket_event"
250250

251251
# Dict used to translate native Bang & Olufsen event names to string.json compatible ones
252252
EVENT_TRANSLATION_MAP: dict[str, str] = {
@@ -263,7 +263,7 @@ class WebsocketNotification(StrEnum):
263263

264264
CONNECTION_STATUS: Final[str] = "CONNECTION_STATUS"
265265

266-
DEVICE_BUTTONS: Final[list[str]] = [x.value for x in BangOlufsenButtons]
266+
DEVICE_BUTTONS: Final[list[str]] = [x.value for x in BeoButtons]
267267

268268

269269
DEVICE_BUTTON_EVENTS: Final[list[str]] = [

homeassistant/components/bang_olufsen/diagnostics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
from homeassistant.core import HomeAssistant
1111
from homeassistant.helpers import entity_registry as er
1212

13-
from . import BangOlufsenConfigEntry
13+
from . import BeoConfigEntry
1414
from .const import DOMAIN
1515
from .util import get_device_buttons
1616

1717

1818
async def async_get_config_entry_diagnostics(
19-
hass: HomeAssistant, config_entry: BangOlufsenConfigEntry
19+
hass: HomeAssistant, config_entry: BeoConfigEntry
2020
) -> dict[str, Any]:
2121
"""Return diagnostics for a config entry."""
2222

homeassistant/components/bang_olufsen/entity.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
from .const import DOMAIN
2525

2626

27-
class BangOlufsenBase:
28-
"""Base class for BangOlufsen Home Assistant objects."""
27+
class BeoBase:
28+
"""Base class for Bang & Olufsen Home Assistant objects."""
2929

3030
def __init__(self, entry: ConfigEntry, client: MozartClient) -> None:
3131
"""Initialize the object."""
@@ -51,8 +51,8 @@ def __init__(self, entry: ConfigEntry, client: MozartClient) -> None:
5151
)
5252

5353

54-
class BangOlufsenEntity(Entity, BangOlufsenBase):
55-
"""Base Entity for BangOlufsen entities."""
54+
class BeoEntity(Entity, BeoBase):
55+
"""Base Entity for Bang & Olufsen entities."""
5656

5757
_attr_has_entity_name = True
5858
_attr_should_poll = False

homeassistant/components/bang_olufsen/event.py

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from homeassistant.helpers.dispatcher import async_dispatcher_connect
1515
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
1616

17-
from . import BangOlufsenConfigEntry
17+
from . import BeoConfigEntry
1818
from .const import (
1919
BEO_REMOTE_CONTROL_KEYS,
2020
BEO_REMOTE_KEY_EVENTS,
@@ -25,25 +25,25 @@
2525
DEVICE_BUTTON_EVENTS,
2626
DOMAIN,
2727
MANUFACTURER,
28-
BangOlufsenModel,
28+
BeoModel,
2929
WebsocketNotification,
3030
)
31-
from .entity import BangOlufsenEntity
31+
from .entity import BeoEntity
3232
from .util import get_device_buttons, get_remotes
3333

3434
PARALLEL_UPDATES = 0
3535

3636

3737
async def async_setup_entry(
3838
hass: HomeAssistant,
39-
config_entry: BangOlufsenConfigEntry,
39+
config_entry: BeoConfigEntry,
4040
async_add_entities: AddConfigEntryEntitiesCallback,
4141
) -> None:
4242
"""Set up Event entities from config entry."""
43-
entities: list[BangOlufsenEvent] = []
43+
entities: list[BeoEvent] = []
4444

4545
async_add_entities(
46-
BangOlufsenButtonEvent(config_entry, button_type)
46+
BeoButtonEvent(config_entry, button_type)
4747
for button_type in get_device_buttons(config_entry.data[CONF_MODEL])
4848
)
4949

@@ -54,7 +54,7 @@ async def async_setup_entry(
5454
# Add Light keys
5555
entities.extend(
5656
[
57-
BangOlufsenRemoteKeyEvent(
57+
BeoRemoteKeyEvent(
5858
config_entry,
5959
remote,
6060
f"{BEO_REMOTE_SUBMENU_LIGHT}/{key_type}",
@@ -66,7 +66,7 @@ async def async_setup_entry(
6666
# Add Control keys
6767
entities.extend(
6868
[
69-
BangOlufsenRemoteKeyEvent(
69+
BeoRemoteKeyEvent(
7070
config_entry,
7171
remote,
7272
f"{BEO_REMOTE_SUBMENU_CONTROL}/{key_type}",
@@ -84,24 +84,23 @@ async def async_setup_entry(
8484
config_entry.entry_id
8585
)
8686
for device in devices:
87-
if (
88-
device.model == BangOlufsenModel.BEOREMOTE_ONE
89-
and device.serial_number not in {remote.serial_number for remote in remotes}
90-
):
87+
if device.model == BeoModel.BEOREMOTE_ONE and device.serial_number not in {
88+
remote.serial_number for remote in remotes
89+
}:
9190
device_registry.async_update_device(
9291
device.id, remove_config_entry_id=config_entry.entry_id
9392
)
9493

9594
async_add_entities(new_entities=entities)
9695

9796

98-
class BangOlufsenEvent(BangOlufsenEntity, EventEntity):
97+
class BeoEvent(BeoEntity, EventEntity):
9998
"""Base Event class."""
10099

101100
_attr_device_class = EventDeviceClass.BUTTON
102101
_attr_entity_registry_enabled_default = False
103102

104-
def __init__(self, config_entry: BangOlufsenConfigEntry) -> None:
103+
def __init__(self, config_entry: BeoConfigEntry) -> None:
105104
"""Initialize Event."""
106105
super().__init__(config_entry, config_entry.runtime_data.client)
107106

@@ -112,12 +111,12 @@ def _async_handle_event(self, event: str) -> None:
112111
self.async_write_ha_state()
113112

114113

115-
class BangOlufsenButtonEvent(BangOlufsenEvent):
114+
class BeoButtonEvent(BeoEvent):
116115
"""Event class for Button events."""
117116

118117
_attr_event_types = DEVICE_BUTTON_EVENTS
119118

120-
def __init__(self, config_entry: BangOlufsenConfigEntry, button_type: str) -> None:
119+
def __init__(self, config_entry: BeoConfigEntry, button_type: str) -> None:
121120
"""Initialize Button."""
122121
super().__init__(config_entry)
123122

@@ -146,14 +145,14 @@ async def async_added_to_hass(self) -> None:
146145
)
147146

148147

149-
class BangOlufsenRemoteKeyEvent(BangOlufsenEvent):
148+
class BeoRemoteKeyEvent(BeoEvent):
150149
"""Event class for Beoremote One key events."""
151150

152151
_attr_event_types = BEO_REMOTE_KEY_EVENTS
153152

154153
def __init__(
155154
self,
156-
config_entry: BangOlufsenConfigEntry,
155+
config_entry: BeoConfigEntry,
157156
remote: PairedRemote,
158157
key_type: str,
159158
) -> None:
@@ -166,8 +165,8 @@ def __init__(
166165
self._attr_unique_id = f"{remote.serial_number}_{self._unique_id}_{key_type}"
167166
self._attr_device_info = DeviceInfo(
168167
identifiers={(DOMAIN, f"{remote.serial_number}_{self._unique_id}")},
169-
name=f"{BangOlufsenModel.BEOREMOTE_ONE}-{remote.serial_number}-{self._unique_id}",
170-
model=BangOlufsenModel.BEOREMOTE_ONE,
168+
name=f"{BeoModel.BEOREMOTE_ONE}-{remote.serial_number}-{self._unique_id}",
169+
model=BeoModel.BEOREMOTE_ONE,
171170
serial_number=remote.serial_number,
172171
sw_version=remote.app_version,
173172
manufacturer=MANUFACTURER,

0 commit comments

Comments
 (0)