Method

class getmac.getmac.Method[source]

Bases: object

Base class defining a method to get a MAC address. Subclasses should implement the test() and get() methods.

Attributes Summary

VALID_PLATFORM_NAMES

The valid platform identifier strings, used to match methods to the appropriate platform.

method_type

The type of method, e.g. does it get the MAC of a interface.

network_request

If the method makes a network request as part of the check.

platforms

Platforms supported by a method.

unusable

Marks the method as unable to be used, e.g. if there was a runtime error indicating the method won't work on the current platform.

Methods Summary

get(arg)

Core logic of the method that performs the lookup.

test()

Low-impact test that the method is feasible, e.g. a command exists.

Attributes Documentation

VALID_PLATFORM_NAMES: Final[Set[str]] = {'android', 'darwin', 'freebsd', 'hp-ux', 'linux', 'openbsd', 'other', 'sunos', 'windows', 'wsl'}

The valid platform identifier strings, used to match methods to the appropriate platform.

method_type: str = ''

The type of method, e.g. does it get the MAC of a interface.

Allowed values:

  • ip

  • ip4

  • ip6

  • iface

  • default_iface

network_request: bool = False

If the method makes a network request as part of the check.

platforms: Set[str] = {}

Platforms supported by a method.

unusable: bool = False

Marks the method as unable to be used, e.g. if there was a runtime error indicating the method won’t work on the current platform.

Methods Documentation

get(arg)[source]

Core logic of the method that performs the lookup.

Warning

If the method itself fails to function an exception will be raised! (for instance, if some command arguments are invalid, or there’s an internal error with the command, or a bug in the code).

Parameters:

arg (str) – What the method should get, such as an IP address or interface name. In the case of default_iface methods, this is not used and defaults to an empty string.

Return type:

Optional[str]

Returns:

Lowercase colon-separated MAC address, or None if one could not be found.

test()[source]

Low-impact test that the method is feasible, e.g. a command exists.

Return type:

bool