| 123456789101112131415161718192021222324252627 |
- from decimal import Decimal
- from .choices import WirelessChannelChoices
- __all__ = (
- 'get_channel_attr',
- )
- def get_channel_attr(channel, attr):
- """
- Return the specified attribute of a given WirelessChannelChoices value.
- """
- if channel not in WirelessChannelChoices.values():
- raise ValueError(f"Invalid channel value: {channel}")
- channel_values = channel.split('-')
- attrs = {
- 'band': channel_values[0],
- 'id': int(channel_values[1]),
- 'frequency': Decimal(channel_values[2]),
- 'width': Decimal(channel_values[3]),
- }
- if attr not in attrs:
- raise ValueError(f"Invalid channel attribute: {attr}")
- return attrs[attr]
|