Skip to content

Commit 68485e6

Browse files
committed
Update enums in accordance with upstream documentation
This begins version 3.0 All enums were revisisted and updated in accordance to NetworkManager documentation. Some enums and their fields were renamed: * `AccessPointCapabilities` -> `WifiAccessPointCapabilities` * `WirelessCapabilities` -> `WifiCapabilities` * `WpaSecurityFlags` -> `WifiAccessPointSecurityFlags` * `P2P_*` -> `PAIR_*` * `BROADCAST_*` -> `GROUP_*` * `AUTH_*` -> `KEY_MGMT_*` * `ConnectionState` -> `ActiveConnectionState` * `ConnectionStateReason` -> `ActiveConnectionStateReason` * `ConnectionFlags` -> `SettingsConnectionFlags` * `ConnectionStateFlags` -> `ActivationStateFlags` * `DeviceCapabilities` -> `DeviceCapabilitiesFlags` * `BluetoothCapabilities` -> `BluetoothCapabilitiesFlags` * `ModemCapabilities` -> `ModemCapabilitiesFlags` * `SecretAgentCapabilities` -> `SecretAgentCapabilitiesFlags` * `VpnState` -> `VpnServiceState` * `VpnFailure` * `LOGIN_FAILURE` -> `LOGIN_FAILED` New enums: * `NetworkManagerCapabilities` * `WimaxNSPNetworkType` * `SecretAgentGetSecretsFlags` * `CheckpointCreateFlags` * `CheckpointRollbackResult` * `SettingsAddConnection2Flags` * `SettingsUpdate2Flags` * `DeviceReapplyFlags` * `NetworkManagerReloadFlags` * `RadioFlags` * `MptcpFlags` * `VpnConnectionState` * `VpnConnectionStateReason`
1 parent 76a3c2c commit 68485e6

File tree

9 files changed

+1418
-717
lines changed

9 files changed

+1418
-717
lines changed

CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,45 @@
1+
## 3.0.0
2+
3+
### Breaking changes
4+
5+
All enums were revisisted and updated in accordance to NetworkManager documentation.
6+
7+
Some enums and their fields were renamed:
8+
9+
* `AccessPointCapabilities` -> `WifiAccessPointCapabilities`
10+
* `WirelessCapabilities` -> `WifiCapabilities`
11+
* `WpaSecurityFlags` -> `WifiAccessPointSecurityFlags`
12+
* `P2P_*` -> `PAIR_*`
13+
* `BROADCAST_*` -> `GROUP_*`
14+
* `AUTH_*` -> `KEY_MGMT_*`
15+
* `ConnectionState` -> `ActiveConnectionState`
16+
* `ConnectionStateReason` -> `ActiveConnectionStateReason`
17+
* `ConnectionFlags` -> `SettingsConnectionFlags`
18+
* `ConnectionStateFlags` -> `ActivationStateFlags`
19+
* `DeviceCapabilities` -> `DeviceCapabilitiesFlags`
20+
* `BluetoothCapabilities` -> `BluetoothCapabilitiesFlags`
21+
* `ModemCapabilities` -> `ModemCapabilitiesFlags`
22+
* `SecretAgentCapabilities` -> `SecretAgentCapabilitiesFlags`
23+
* `VpnState` -> `VpnServiceState`
24+
* `VpnFailure`
25+
* `LOGIN_FAILURE` -> `LOGIN_FAILED`
26+
27+
New enums:
28+
29+
* `NetworkManagerCapabilities`
30+
* `WimaxNSPNetworkType`
31+
* `SecretAgentGetSecretsFlags`
32+
* `CheckpointCreateFlags`
33+
* `CheckpointRollbackResult`
34+
* `SettingsAddConnection2Flags`
35+
* `SettingsUpdate2Flags`
36+
* `DeviceReapplyFlags`
37+
* `NetworkManagerReloadFlags`
38+
* `RadioFlags`
39+
* `MptcpFlags`
40+
* `VpnConnectionState`
41+
* `VpnConnectionStateReason`
42+
143
## 2.0.0
244

345
### Warning if you used pre-release version

docs/enums.rst

Lines changed: 26 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,43 @@
11
Enums
22
================
33

4-
.. autoclass:: sdbus_async.networkmanager.AccessPointCapabilities
5-
:members:
4+
Python's Enum quick intro
5+
-------------------------
66

7-
.. autoclass:: sdbus_async.networkmanager.WpaSecurityFlags
8-
:members:
7+
There are two types of enums. ``IntEnum`` is used for a discrete values
8+
and ``IntFlag`` is used for bit flags. For example, ``DeviceType`` identifies
9+
a single device type as a device cannot be of multiple types.
10+
``WifiCapabilities`` shows a particular Wifi device capabilities which it
11+
can have multiple, for example, supporting both 5GHz and 2.4GHz radio bands.
912

10-
.. autoclass:: sdbus_async.networkmanager.WiFiOperationMode
11-
:members:
13+
Usually ``IntEnum`` is implied unless the enum's name ends with ``Flag``.
1214

13-
.. autoclass:: sdbus_async.networkmanager.SecretAgentCapabilities
14-
:members:
15+
Example code using enums:
1516

16-
.. autoclass:: sdbus_async.networkmanager.ConnectionState
17-
:members:
17+
.. code-block:: python
1818
19-
.. autoclass:: sdbus_async.networkmanager.ConnectionStateFlags
20-
:members:
19+
from sdbus_async.networkmanager.enums import DeviceType, WifiCapabilities
2120
22-
.. autoclass:: sdbus_async.networkmanager.ConnectionStateReason
23-
:members:
21+
# Get particular device type from an integer
22+
DeviceType(2) == DeviceType.WIFI
23+
# Returns: True
2424
25-
.. autoclass:: sdbus_async.networkmanager.BluetoothCapabilities
26-
:members:
25+
# Check if a specific flag is enabled
26+
WifiCapabilities.FREQ_2GHZ in WifiCapabilities(0x00000400 | 0x00000200)
27+
# Returns: True
2728
28-
.. autoclass:: sdbus_async.networkmanager.IpTunnelMode
29-
:members:
29+
# Iterate over all enabled flags
30+
list(WifiCapabilities(0x00000400 | 0x00000200))
31+
# Returns: [<WifiCapabilities.FREQ_2GHZ: 512>, <WifiCapabilities.FREQ_5GHZ: 1024>]
3032
31-
.. autoclass:: sdbus_async.networkmanager.ModemCapabilities
32-
:members:
33+
`See Python's standard library documentation for more detailed
34+
tutorial and API reference. <https://docs.python.org/3/library/enum.html>`_
3335

34-
.. autoclass:: sdbus_async.networkmanager.WirelessCapabilities
35-
:members:
36+
NetworkManager's enums
37+
-------------------------
3638

37-
.. autoclass:: sdbus_async.networkmanager.DeviceCapabilities
38-
:members:
39-
40-
.. autoclass:: sdbus_async.networkmanager.DeviceState
41-
:members:
42-
43-
.. autoclass:: sdbus_async.networkmanager.DeviceStateReason
44-
:members:
45-
46-
.. autoclass:: sdbus_async.networkmanager.DeviceType
47-
:members:
48-
49-
.. autoclass:: sdbus_async.networkmanager.DeviceMetered
50-
:members:
51-
52-
.. autoclass:: sdbus_async.networkmanager.ConnectivityState
53-
:members:
54-
55-
.. autoclass:: sdbus_async.networkmanager.DeviceInterfaceFlags
56-
:members:
57-
58-
.. autoclass:: sdbus_async.networkmanager.ConnectionFlags
59-
:members:
60-
61-
.. autoclass:: sdbus_async.networkmanager.VpnState
62-
:members:
63-
64-
.. autoclass:: sdbus_async.networkmanager.VpnFailure
65-
:members:
66-
67-
.. autoclass:: sdbus_async.networkmanager.NetworkManagerConnectivityState
68-
:members:
69-
70-
.. autoclass:: sdbus_async.networkmanager.NetworkManagerState
71-
:members:
39+
.. automodule:: sdbus_async.networkmanager.enums
40+
:members:
7241

7342
Helper classes
7443
-----------------------

examples/async/device-state-async.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
NetworkDeviceGeneric,
2525
DeviceState,
2626
DeviceType,
27-
DeviceCapabilities as Capabilities,
27+
DeviceCapabilitiesFlags,
2828
ActiveConnection,
2929
ConnectivityState,
3030
)
@@ -46,7 +46,9 @@ async def list_active_hardware_networkdevice_states(only_hw: bool) -> None:
4646
generic = NetworkDeviceGeneric(device_path)
4747

4848
# Demonstrates an enum to match devices using capabilities:
49-
if only_hw and await generic.capabilities & Capabilities.IS_SOFTWARE:
49+
if only_hw and (
50+
DeviceCapabilitiesFlags.IS_SOFTWARE
51+
in DeviceCapabilitiesFlags(await generic.capabilities)):
5052
continue
5153

5254
# Create the strings for the columns using the names of the enums:

examples/block/device-state.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
NetworkDeviceGeneric,
2424
DeviceState,
2525
DeviceType,
26-
DeviceCapabilities as Capabilities,
26+
DeviceCapabilitiesFlags,
2727
ActiveConnection,
2828
ConnectivityState,
2929
)
@@ -45,7 +45,9 @@ def list_active_hardware_networkdevice_states(only_hw: bool) -> None:
4545
generic_dev = NetworkDeviceGeneric(device_path)
4646

4747
# Demonstrates an enum to match devices using capabilities:
48-
if only_hw and generic_dev.capabilities & Capabilities.IS_SOFTWARE:
48+
if only_hw and (
49+
DeviceCapabilitiesFlags.IS_SOFTWARE
50+
in DeviceCapabilitiesFlags(generic_dev.capabilities)):
4951
continue
5052

5153
# Create the strings for the columns using the names of the enums:

sdbus_async/networkmanager/__init__.py

Lines changed: 52 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,43 @@
2020
from __future__ import annotations
2121

2222
from .enums import (
23-
AccessPointCapabilities,
24-
BluetoothCapabilities,
25-
ConnectionFlags,
26-
ConnectionState,
27-
ConnectionStateFlags,
28-
ConnectionStateReason,
23+
ActivationStateFlags,
24+
ActiveConnectionState,
25+
ActiveConnectionStateReason,
26+
BluetoothCapabilitiesFlags,
27+
CheckpointCreateFlags,
28+
CheckpointRollbackResult,
29+
ConnectionMultiConnect,
2930
ConnectionType,
3031
ConnectivityState,
31-
DeviceCapabilities,
32+
DeviceCapabilitiesFlags,
3233
DeviceInterfaceFlags,
3334
DeviceMetered,
35+
DeviceReapplyFlags,
3436
DeviceState,
3537
DeviceStateReason,
3638
DeviceType,
3739
IpTunnelMode,
38-
ModemCapabilities,
39-
NetworkManagerConnectivityState,
40+
ModemCapabilitiesFlags,
41+
MptcpFlags,
42+
NetworkManagerCapabilitiesFlags,
43+
NetworkManagerReloadFlags,
4044
NetworkManagerState,
41-
SecretAgentCapabilities,
45+
RadioFlags,
46+
SecretAgentCapabilitiesFlags,
47+
SecretAgentGetSecretsFlags,
48+
SettingsAddConnection2Flags,
49+
SettingsConnectionFlags,
50+
SettingsUpdate2Flags,
51+
VpnConnectionState,
52+
VpnConnectionStateReason,
4253
VpnFailure,
43-
VpnState,
54+
VpnServiceState,
55+
WifiAccessPointCapabilitiesFlags,
56+
WifiAccessPointSecurityFlags,
57+
WifiCapabilitiesFlags,
4458
WiFiOperationMode,
45-
WirelessCapabilities,
46-
WpaSecurityFlags,
59+
WimaxNSPNetworkType,
4760
)
4861
from .exceptions import (
4962
NetworkManagerAlreadyAsleepOrAwakeError,
@@ -218,30 +231,43 @@
218231

219232
__all__ = (
220233
# .enums
221-
'AccessPointCapabilities',
222-
'BluetoothCapabilities',
223-
'ConnectionFlags',
224-
'ConnectionState',
225-
'ConnectionStateFlags',
226-
'ConnectionStateReason',
234+
'ActivationStateFlags',
235+
'ActiveConnectionState',
236+
'ActiveConnectionStateReason',
237+
'BluetoothCapabilitiesFlags',
238+
'CheckpointCreateFlags',
239+
'CheckpointRollbackResult',
240+
'ConnectionMultiConnect',
227241
'ConnectionType',
228242
'ConnectivityState',
229-
'DeviceCapabilities',
243+
'DeviceCapabilitiesFlags',
230244
'DeviceInterfaceFlags',
231245
'DeviceMetered',
246+
'DeviceReapplyFlags',
232247
'DeviceState',
233248
'DeviceStateReason',
234249
'DeviceType',
235250
'IpTunnelMode',
236-
'ModemCapabilities',
237-
'NetworkManagerConnectivityState',
251+
'ModemCapabilitiesFlags',
252+
'MptcpFlags',
253+
'NetworkManagerCapabilitiesFlags',
254+
'NetworkManagerReloadFlags',
238255
'NetworkManagerState',
239-
'SecretAgentCapabilities',
256+
'RadioFlags',
257+
'SecretAgentCapabilitiesFlags',
258+
'SecretAgentGetSecretsFlags',
259+
'SettingsAddConnection2Flags',
260+
'SettingsConnectionFlags',
261+
'SettingsUpdate2Flags',
262+
'VpnConnectionState',
263+
'VpnConnectionStateReason',
240264
'VpnFailure',
241-
'VpnState',
265+
'VpnServiceState',
266+
'WifiAccessPointCapabilitiesFlags',
267+
'WifiAccessPointSecurityFlags',
268+
'WifiCapabilitiesFlags',
242269
'WiFiOperationMode',
243-
'WirelessCapabilities',
244-
'WpaSecurityFlags',
270+
'WimaxNSPNetworkType',
245271
# .exceptions
246272
'NetworkManagerAlreadyAsleepOrAwakeError',
247273
'NetworkManagerAlreadyEnabledOrDisabledError',

0 commit comments

Comments
 (0)