Skip to content

Commit 2ec02df

Browse files
committed
Extend max line length from 88 to 110
The project source code indents quite a lot, so lines tend to be longer. Let Black flows lines to a length of 110 max instead of the default of 88.
1 parent 6047ab6 commit 2ec02df

File tree

10 files changed

+73
-214
lines changed

10 files changed

+73
-214
lines changed

.github/workflows/black.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ jobs:
99
- uses: actions/checkout@v4
1010
- uses: psf/black@stable
1111
with:
12-
options: "--check --verbose"
12+
options: "--check --verbose --line-length 110"
1313
src: "./custom_components/jablotron80"

custom_components/jablotron80/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
6363

6464
hass.data[DOMAIN][entry.entry_id] = {
6565
DATA_JABLOTRON: cu,
66-
DATA_OPTIONS_UPDATE_UNSUBSCRIBER: entry.add_update_listener(
67-
options_update_listener
68-
),
66+
DATA_OPTIONS_UPDATE_UNSUBSCRIBER: entry.add_update_listener(options_update_listener),
6967
}
7068

7169
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
@@ -76,9 +74,7 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
7674
# This is called when an entry/configured device is to be removed. The class
7775
# needs to unload itself, and remove callbacks. See the classes for further
7876
# details
79-
options_update_unsubscriber = hass.data[DOMAIN][entry.entry_id][
80-
DATA_OPTIONS_UPDATE_UNSUBSCRIBER
81-
]
77+
options_update_unsubscriber = hass.data[DOMAIN][entry.entry_id][DATA_OPTIONS_UPDATE_UNSUBSCRIBER]
8278
options_update_unsubscriber()
8379
cu = hass.data[DOMAIN][entry.entry_id][DATA_JABLOTRON]
8480
cu.shutdown()

custom_components/jablotron80/alarm_control_panel.py

Lines changed: 13 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
LOGGER = logging.getLogger(__package__)
3232

3333

34-
async def async_setup_entry(
35-
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities
36-
) -> None:
34+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities) -> None:
3735
cu = hass.data[DOMAIN][config_entry.entry_id][DATA_JABLOTRON]
3836
# how to handle split system?
3937
if cu.mode != JA80CentralUnit.SYSTEM_MODE_SPLIT:
@@ -51,9 +49,7 @@ def check_zone_status(zone: JablotronZone, status: str) -> bool:
5149

5250
class Jablotron80AlarmControl(JablotronEntity, AlarmControlPanelEntity):
5351

54-
def __init__(
55-
self, cu: JA80CentralUnit, zones: List[JablotronZone], main_zone: int = 0
56-
) -> None:
52+
def __init__(self, cu: JA80CentralUnit, zones: List[JablotronZone], main_zone: int = 0) -> None:
5753
self._object = zones[main_zone]
5854
self._main_zone = main_zone
5955
self._cu = cu
@@ -75,10 +71,7 @@ def _check_code(code: Optional[str]) -> Optional[str]:
7571
@property
7672
def supported_features(self) -> int:
7773
if self._cu.mode == JA80CentralUnit.SYSTEM_MODE_UNSPLIT:
78-
return (
79-
AlarmControlPanelEntityFeature.ARM_AWAY
80-
| AlarmControlPanelEntityFeature.TRIGGER
81-
)
74+
return AlarmControlPanelEntityFeature.ARM_AWAY | AlarmControlPanelEntityFeature.TRIGGER
8275
elif self._cu.mode == JA80CentralUnit.SYSTEM_MODE_PARTIAL:
8376
return (
8477
AlarmControlPanelEntityFeature.ARM_AWAY
@@ -92,10 +85,7 @@ def supported_features(self) -> int:
9285
| AlarmControlPanelEntityFeature.ARM_HOME
9386
| AlarmControlPanelEntityFeature.TRIGGER
9487
)
95-
return (
96-
AlarmControlPanelEntityFeature.ARM_AWAY
97-
| AlarmControlPanelEntityFeature.TRIGGER
98-
)
88+
return AlarmControlPanelEntityFeature.ARM_AWAY | AlarmControlPanelEntityFeature.TRIGGER
9989

10090
@property
10191
def code_arm_required(self) -> bool:
@@ -181,28 +171,16 @@ async def async_alarm_arm_custom_bypass(self, code=None) -> None:
181171
raise NotImplementedError()
182172

183173
def get_active_zone(self) -> JablotronZone:
184-
if (
185-
self._cu.mode == JA80CentralUnit.SYSTEM_MODE_UNSPLIT
186-
and len(self._zones) == 1
187-
):
174+
if self._cu.mode == JA80CentralUnit.SYSTEM_MODE_UNSPLIT and len(self._zones) == 1:
188175
return self._zones[0]
189-
elif (
190-
self._cu.mode == JA80CentralUnit.SYSTEM_MODE_PARTIAL
191-
and len(self._zones) == 3
192-
):
176+
elif self._cu.mode == JA80CentralUnit.SYSTEM_MODE_PARTIAL and len(self._zones) == 3:
193177
zone_home = self._zones[0]
194178
zone_night = self._zones[1]
195179
zone_away = self._zones[2]
196-
for zone in [
197-
zone
198-
for zone in self._zones
199-
if check_zone_status(zone, JablotronZone.STATUS_ALARM)
200-
]:
180+
for zone in [zone for zone in self._zones if check_zone_status(zone, JablotronZone.STATUS_ALARM)]:
201181
return zone
202182
for zone in [
203-
zone
204-
for zone in self._zones
205-
if check_zone_status(zone, JablotronZone.STATUS_ENTRY_DELAY)
183+
zone for zone in self._zones if check_zone_status(zone, JablotronZone.STATUS_ENTRY_DELAY)
206184
]:
207185
return zone
208186
if check_zone_status(zone_away, JablotronZone.STATUS_ARMED):
@@ -212,26 +190,18 @@ def get_active_zone(self) -> JablotronZone:
212190
elif check_zone_status(zone_home, JablotronZone.STATUS_ARMED):
213191
return zone_home
214192
for zone in [
215-
zone
216-
for zone in self._zones
217-
if check_zone_status(zone, JablotronZone.STATUS_ARMING)
193+
zone for zone in self._zones if check_zone_status(zone, JablotronZone.STATUS_ARMING)
218194
]:
219195
return zone
220196
for zone in [
221-
zone
222-
for zone in self._zones
223-
if check_zone_status(zone, JablotronZone.STATUS_DISARMED)
197+
zone for zone in self._zones if check_zone_status(zone, JablotronZone.STATUS_DISARMED)
224198
]:
225199
return zone
226-
elif (
227-
self._cu.mode == JA80CentralUnit.SYSTEM_MODE_SPLIT and len(self._zones) == 3
228-
):
200+
elif self._cu.mode == JA80CentralUnit.SYSTEM_MODE_SPLIT and len(self._zones) == 3:
229201
zone_home = self._zones[self._main_zone]
230202
zone_away = self._zones[2]
231203
for zone in [
232-
zone
233-
for zone in [zone_home, zone_away]
234-
if check_zone_status(zone, JablotronZone.STATUS_ALARM)
204+
zone for zone in [zone_home, zone_away] if check_zone_status(zone, JablotronZone.STATUS_ALARM)
235205
]:
236206
return zone
237207
for zone in [
@@ -269,8 +239,7 @@ def alarm_state(self) -> AlarmControlPanelState | None:
269239
return AlarmControlPanelState.TRIGGERED
270240

271241
elif (
272-
zone.status == JablotronZone.STATUS_ARMED
273-
and self._cu.mode == JA80CentralUnit.SYSTEM_MODE_UNSPLIT
242+
zone.status == JablotronZone.STATUS_ARMED and self._cu.mode == JA80CentralUnit.SYSTEM_MODE_UNSPLIT
274243
):
275244
return AlarmControlPanelState.ARMED_AWAY
276245

custom_components/jablotron80/binary_sensor.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,12 @@
2828
LOGGER = logging.getLogger(__package__)
2929

3030

31-
async def async_setup_entry(
32-
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities
33-
) -> None:
34-
cu = hass.data[DOMAIN][config_entry.entry_id][
35-
DATA_JABLOTRON
36-
] # type: JA80CentralUnit
37-
async_add_entities(
38-
[JablotronDeviceSensorEntity(device, cu) for device in cu.devices], True
39-
)
31+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities) -> None:
32+
cu = hass.data[DOMAIN][config_entry.entry_id][DATA_JABLOTRON] # type: JA80CentralUnit
33+
async_add_entities([JablotronDeviceSensorEntity(device, cu) for device in cu.devices], True)
4034
async_add_entities([JablotronDeviceSensorEntity(cu.central_device, cu)], True)
4135
async_add_entities([JablotronDeviceSensorEntity(led, cu) for led in cu.leds], True)
42-
async_add_entities(
43-
[JablotronDeviceSensorEntity(code, cu) for code in cu.codes], True
44-
)
36+
async_add_entities([JablotronDeviceSensorEntity(code, cu) for code in cu.codes], True)
4537
async_add_entities([JablotronDeviceSensorEntity(cu.statustext, cu)], True)
4638

4739

@@ -60,10 +52,7 @@ def icon(self) -> Optional[str]:
6052
@property
6153
def device_class(self) -> Optional[str]:
6254
if self._object._id <= 0:
63-
if (
64-
"code" == self._object.type
65-
and self._object.reaction == JablotronConstants.REACTION_PANIC
66-
):
55+
if "code" == self._object.type and self._object.reaction == JablotronConstants.REACTION_PANIC:
6756
return BinarySensorDeviceClass.SAFETY
6857
elif (
6958
"code" == self._object.type

custom_components/jablotron80/button.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@
1212
LOGGER = logging.getLogger(__package__)
1313

1414

15-
async def async_setup_entry(
16-
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities
17-
) -> None:
18-
cu = hass.data[DOMAIN][config_entry.entry_id][
19-
DATA_JABLOTRON
20-
] # type: JA80CentralUnit
15+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities) -> None:
16+
cu = hass.data[DOMAIN][config_entry.entry_id][DATA_JABLOTRON] # type: JA80CentralUnit
2117
async_add_entities([JablotronQueryButtonEntity(cu.query, cu)], True)
2218

2319

custom_components/jablotron80/config_flow.py

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ def async_get_options_flow(
7171
) -> config_entries.OptionsFlow:
7272
return JablotronOptionsFlow(config_entry)
7373

74-
async def async_step_user(
75-
self, user_input: Optional[Dict[str, Any]] = None
76-
) -> Dict[str, Any]:
74+
async def async_step_user(self, user_input: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
7775
"""Handle the initial step."""
7876
# This goes through the steps to take the user through the setup process.
7977
# Using this it is possible to update the UI and prompt for additional
@@ -93,9 +91,7 @@ async def async_step_user(
9391
CABLE_MODEL: cables_by_names[user_input[CABLE_MODEL]],
9492
CONFIGURATION_SERIAL_PORT: user_input[CONFIGURATION_SERIAL_PORT],
9593
CONFIGURATION_PASSWORD: user_input[CONFIGURATION_PASSWORD],
96-
CONFIGURATION_NUMBER_OF_WIRED_DEVICES: user_input[
97-
CONFIGURATION_NUMBER_OF_WIRED_DEVICES
98-
],
94+
CONFIGURATION_NUMBER_OF_WIRED_DEVICES: user_input[CONFIGURATION_NUMBER_OF_WIRED_DEVICES],
9995
}
10096
cu = JA80CentralUnit(None, self._config, None)
10197
await cu.initialize()
@@ -133,9 +129,7 @@ async def async_step_user(
133129
vol.Required(CABLE_MODEL, default=DEFAULT_CABLE_MODEL): vol.In(
134130
list(CABLE_MODELS.values())
135131
),
136-
vol.Required(
137-
CONFIGURATION_SERIAL_PORT, default=DEFAULT_SERIAL_PORT
138-
): str,
132+
vol.Required(CONFIGURATION_SERIAL_PORT, default=DEFAULT_SERIAL_PORT): str,
139133
vol.Required(CONFIGURATION_PASSWORD): str,
140134
vol.Optional(
141135
CONFIGURATION_NUMBER_OF_WIRED_DEVICES,
@@ -149,9 +143,7 @@ async def async_step_user(
149143
errors=errors,
150144
)
151145

152-
async def async_step_devices(
153-
self, user_input: Optional[Dict[str, Any]] = None
154-
) -> Dict[str, Any]:
146+
async def async_step_devices(self, user_input: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
155147
errors = {}
156148
devices_by_names = {value: key for key, value in DEVICES.items()}
157149
if user_input is not None:
@@ -168,13 +160,9 @@ async def async_step_devices(
168160
}
169161
for input in sorted(user_input):
170162
parts = input.split("_")
171-
if parts[0] == "device" and (
172-
parts[2] == "name" or parts[2] == "type"
173-
):
163+
if parts[0] == "device" and (parts[2] == "name" or parts[2] == "type"):
174164
if parts[2] == "type":
175-
devices[int(parts[1])][parts[2]] = devices_by_names[
176-
user_input[input]
177-
]
165+
devices[int(parts[1])][parts[2]] = devices_by_names[user_input[input]]
178166
else:
179167
devices[int(parts[1])][parts[2]] = user_input[input]
180168

@@ -212,24 +200,18 @@ async def async_step_devices(
212200
default_device = DEVICES[DEVICE_DOOR_OPENING_DETECTOR]
213201
else:
214202
default_device = DEVICES[DEVICE_OTHER]
215-
fields[
216-
vol.Required(
217-
"device_{:03}_type".format(device.id), default=default_device
218-
)
219-
] = vol.In(list(DEVICES.values()))
220-
fields[
221-
vol.Required("device_{:03}_name".format(device.id), default=device.name)
222-
] = str
203+
fields[vol.Required("device_{:03}_type".format(device.id), default=default_device)] = vol.In(
204+
list(DEVICES.values())
205+
)
206+
fields[vol.Required("device_{:03}_name".format(device.id), default=device.name)] = str
223207

224208
return self.async_show_form(
225209
step_id="devices",
226210
data_schema=vol.Schema(fields),
227211
errors=errors,
228212
)
229213

230-
async def async_step_codes(
231-
self, user_input: Optional[Dict[str, Any]] = None
232-
) -> Dict[str, Any]:
214+
async def async_step_codes(self, user_input: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
233215
errors = {}
234216
if user_input is not None:
235217
try:
@@ -262,9 +244,7 @@ async def async_step_codes(
262244
default_name = "Master"
263245
if code.id == 63:
264246
default_name = "Service"
265-
fields[
266-
vol.Required("code_{:03}_name".format(code.id), default=default_name)
267-
] = str
247+
fields[vol.Required("code_{:03}_name".format(code.id), default=default_name)] = str
268248

269249
return self.async_show_form(
270250
step_id="codes",

0 commit comments

Comments
 (0)