summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 09:09:22 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 09:09:22 +0000
commit42133b29293e1d2bb69d5427dfdedeea21e4341b (patch)
treef4542363b7a2cd646f85e8e535b4de9e608ceac0
parent9671f2c199cbe11ab5aa4d6b1371c24d644fa3cd (diff)
automatic import of python-nmcliopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-nmcli.spec1140
-rw-r--r--sources1
3 files changed, 1142 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1c9da94 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/nmcli-1.2.0.tar.gz
diff --git a/python-nmcli.spec b/python-nmcli.spec
new file mode 100644
index 0000000..5ac93ac
--- /dev/null
+++ b/python-nmcli.spec
@@ -0,0 +1,1140 @@
+%global _empty_manifest_terminate_build 0
+Name: python-nmcli
+Version: 1.2.0
+Release: 1
+Summary: A python wrapper library for the network-manager cli client
+License: MIT
+URL: https://github.com/ushiboy/nmcli
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/9f/e158a03e7201a5d86c228053cd8bde715a4a20bc55ad71aa45aace552db9/nmcli-1.2.0.tar.gz
+BuildArch: noarch
+
+
+%description
+nmcli is a python wrapper library for the network-manager cli client.
+## Quick Sample
+Here is a simple usecase.
+```python
+import nmcli
+try:
+ print(nmcli.connection())
+ print(nmcli.device())
+ print(nmcli.device.wifi())
+ print(nmcli.general())
+ nmcli.device.wifi_connect('AP1', 'passphrase')
+ nmcli.connection.modify('AP1', {
+ 'ipv4.addresses': '192.168.1.1/24',
+ 'ipv4.gateway': '192.168.1.255',
+ 'ipv4.method': 'manual'
+ })
+ nmcli.connection.down('AP1')
+ nmcli.connection.up('AP1')
+ nmcli.connection.delete('AP1')
+except Exception as e:
+ print(e)
+```
+## Dependency
+* NetworkManager
+ * `sudo apt install network-manager` (Debian)
+* User who can execute nmcli with sudo with NOPASSWD
+ * If sudo is not needed (like root user), use `disable_use_sudo` at the beginning of the process.
+## Compatibility table
+| Object | Command | Status |
+|--------|---------|--------|
+| general | | supported |
+| general | status | supported |
+| general | hostname | supported |
+| general | permissions | not supported |
+| general | logging | not supported |
+| networking | | supported |
+| networking | on | supported |
+| networking | off | supported |
+| networking | connectivity | supported |
+| radio | | supported |
+| radio | all | supported |
+| radio | wifi | supported |
+| radio | wwan | supported |
+| connection | | supported |
+| connection | show | supported |
+| connection | up | supported |
+| connection | down | supported |
+| connection | add | supported |
+| connection | modify | supported |
+| connection | clone | not supported |
+| connection | edit | not supported |
+| connection | delete | supported |
+| connection | reload | supported |
+| connection | load | not supported |
+| connection | import | not supported |
+| connection | export | not supported |
+| device | | supported |
+| device | status | supported |
+| device | show | supported |
+| device | set | not supported |
+| device | connect | supported |
+| device | reapply | supported |
+| device | modify | not supported |
+| device | disconnect | supported |
+| device | delete | supported |
+| device | monitor | not supported |
+| device | wifi | supported |
+| device | wifi connect | supported |
+| device | wifi rescan | supported |
+| device | wifi hotspot | supported |
+| device | lldp | not supported |
+| agent | | not supported |
+| agent | secret | not supported |
+| agent | polkit | not supported |
+| agent | all | not supported |
+| monitor | | not supported |
+## API
+### connection
+#### nmcli.connection
+Get a list of connections.
+```
+nmcli.connection() -> List[Connection]
+```
+#### nmcli.connection.add
+Create a new connection using specified properties.
+```
+nmcli.connection.add(
+ conn_type: str,
+ options: Optional[ConnectionOptions] = None,
+ ifname: str = "*",
+ name: str = None,
+ autoconnect: bool = None) -> None
+```
+#### nmcli.connection.modify
+Add, modify or remove properties in the connection profile.
+```
+nmcli.connection.modify(name: str, options: ConnectionOptions) -> None
+```
+#### nmcli.connection.delete
+Delete a configured connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.delete(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.up
+Activate a connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.up(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.down
+Deactivate a connection from a device without preventing the device from further auto-activation.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.down(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.show
+Show details for specified connections.
+```
+nmcli.connection.show(name: str) -> ConnectionDetails
+```
+#### nmcli.connection.reload
+Reload all connection files from disk.
+```
+nmcli.connection.reload() -> None
+```
+### device
+#### nmcli.device
+Print status of devices.
+```
+nmcli.device() -> List[Device]
+```
+#### nmcli.device.status
+Show status for all devices.
+```
+nmcli.device.status() -> List[Device]
+```
+#### nmcli.device.show
+Show details of device.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show(ifname: str, fields: str = None) -> DeviceDetails
+```
+#### nmcli.device.show_all
+Show details of devices.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show_all(fields: str = None) -> List[DeviceDetails]
+```
+#### nmcli.device.connect
+Connect the device.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.connect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.disconnect
+Disconnect devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.disconnect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.reapply
+Attempts to update device with changes to the currently active connection made since it was last applied.
+```
+nmcli.device.reapply(ifname: str) -> None
+```
+#### nmcli.device.delete
+Delete the software devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.delete(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.wifi
+List available Wi-Fi access points.
+```
+nmcli.device.wifi(ifname: str = None) -> List[DeviceWifi]
+```
+#### nmcli.device.wifi_connect
+Connect to a Wi-Fi network specified by SSID or BSSID.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.wifi_connect(ssid: str,
+ password: str,
+ ifname: str = None,
+ wait: int = None) -> None
+```
+#### nmcli.device.wifi_hotspot
+Create a Wi-Fi hotspot
+```
+nmcli.device.wifi_hotspot(ifname: str = None,
+ con_name: str = None,
+ ssid: str = None,
+ band: str = None,
+ channel: int = None,
+ password: str = None) -> Hotspot
+```
+#### nmcli.device.wifi_rescan
+Request that NetworkManager immediately re-scan for available access points.
+```
+nmcli.device.wifi_rescan(ifname: str = None, ssid: str = None) -> None
+```
+### general
+#### nmcli.general
+Show overall status of NetworkManager.
+```
+nmcli.general() -> General
+```
+#### nmcli.general.status
+Show overall status of NetworkManager.
+```
+nmcli.general.status() -> General
+```
+#### nmcli.general.get_hostname
+Get persistent system hostname.
+```
+nmcli.general.get_hostname() -> str
+```
+#### nmcli.general.set_hostname
+Change persistent system hostname.
+```
+nmcli.general.set_hostname(hostname: str) -> None
+```
+### networking
+#### nmcli.networking
+Get network connectivity state.
+```
+nmcli.networking() -> NetworkConnectivity
+```
+#### nmcli.networking.on
+Switch networking on.
+```
+nmcli.networking.on() -> None
+```
+#### nmcli.networking.off
+Switch networking off.
+```
+nmcli.networking.off() -> None
+```
+#### nmcli.networking.connectivity
+Get network connectivity state.
+The optional 'check' argument makes NetworkManager re-check the connectivity.
+```
+nmcli.networking.connectivity(check:bool = False) -> NetworkConnectivity
+```
+### radio
+#### nmcli.radio
+Get status of all radio switches.
+```
+nmcli.radio() -> Radio
+```
+#### nmcli.radio.all
+Get status of all radio switches.
+```
+nmcli.radio.all() -> Radio
+```
+#### nmcli.radio.all_on
+Turn on all radio switches.
+```
+nmcli.radio.all_on() -> None
+```
+#### nmcli.radio.all_off
+Turn off all radio switches.
+```
+nmcli.radio.all_off() -> None
+```
+#### nmcli.radio.wifi
+Get status of Wi-Fi radio switch.
+```
+nmcli.radio.wifi() -> bool
+```
+#### nmcli.radio.wifi_on
+Turn on Wi-Fi radio switches.
+```
+nmcli.radio.wifi_on() -> None
+```
+#### nmcli.radio.wifi_off
+Turn off Wi-Fi radio switches.
+```
+nmcli.radio.wifi_off() -> None
+```
+#### nmcli.radio.wwan
+Get status of mobile broadband radio switch.
+```
+nmcli.radio.wwan() -> bool
+```
+#### nmcli.radio.wwan_on
+Turn on mobile broadband radio switches.
+```
+nmcli.radio.wwan_on() -> None
+```
+#### nmcli.radio.wwan_off
+Turn off mobile broadband radio switches.
+```
+nmcli.radio.wwan_off() -> None
+```
+### other
+#### nmcli.disable_use_sudo
+Disable the use of sudo.
+```
+nmcli.disable_use_sudo() -> None
+```
+#### nmcli.set_lang
+Change the environment variable LANG from the default `C`.
+Run this command when you want to use `C.UTF-8`.
+```
+nmcli.set_lang(lang: str) -> None
+```
+## Change Log
+### 1.2.0
+- Added support for encodings other than UTF-8.
+### 1.1.2
+- Fixed a problem with environment variables being scraped.
+### 1.1.1
+- Include LICENSE.txt in the tar.
+### 1.1.0
+- Added fields option to `nmcli.device.show` and `nmcli.device.show_all`
+### 1.0.0
+- Handle connection failure exceptions with `nmcli.device.wifi_connect`.
+- Added wait param to `nmcli.connection.delete`, `nmcli.connection.up`, `nmcli.connection.down`, `nmcli.device.connect`, `nmcli.device.disconnect`, `nmcli.device.delete`, `nmcli.device.wifi_connect`.
+### 0.9.0
+- Added ifname param to wifi.
+### 0.8.0
+- Added support for changing the LANG environment variable.
+### 0.7.0
+- Added ifname param to wifi_connect.
+### 0.6.1
+- Fixed a bug in the autoconnect parameter of the nmcli.connection.add method (made the default value conform to the specification of nmcli connection add).
+### 0.6.0
+- Added BSSID and FREQ to DeviceWifi.
+### 0.5.0
+- Added support for "nmcli device wifi hotspot".
+- Added support for "nmcli device wifi rescan".
+### 0.4.2
+- Fixed the parsing of device wifi.
+### 0.4.1
+- Fixed parsing when SSID has a space.
+### 0.4.0
+- Added disabling of sudo usage.
+- Added support for parsing the execution results of recent versions of the nmcli device wifi command.
+### 0.3.1
+- Fixed device status and device wifi parsing bug.
+### 0.3.0
+- Added networking and radio APIs.
+- Added more APIs for connection, device and general.
+- Changed the properties of the General data class.
+- Changed throw a ValueError exception if the regular expression pattern is not matched.
+### 0.2.2
+- Fix the parsing bug of connection names that contain spaces (connection.show).
+- Added getting items that begin with a capital letter.
+### 0.2.1
+- Fix the parsing bug of connection names that contain spaces.
+### 0.2.0
+- Added dummy classes.
+### 0.1.0
+- Initial release.
+## License
+MIT
+
+%package -n python3-nmcli
+Summary: A python wrapper library for the network-manager cli client
+Provides: python-nmcli
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-nmcli
+nmcli is a python wrapper library for the network-manager cli client.
+## Quick Sample
+Here is a simple usecase.
+```python
+import nmcli
+try:
+ print(nmcli.connection())
+ print(nmcli.device())
+ print(nmcli.device.wifi())
+ print(nmcli.general())
+ nmcli.device.wifi_connect('AP1', 'passphrase')
+ nmcli.connection.modify('AP1', {
+ 'ipv4.addresses': '192.168.1.1/24',
+ 'ipv4.gateway': '192.168.1.255',
+ 'ipv4.method': 'manual'
+ })
+ nmcli.connection.down('AP1')
+ nmcli.connection.up('AP1')
+ nmcli.connection.delete('AP1')
+except Exception as e:
+ print(e)
+```
+## Dependency
+* NetworkManager
+ * `sudo apt install network-manager` (Debian)
+* User who can execute nmcli with sudo with NOPASSWD
+ * If sudo is not needed (like root user), use `disable_use_sudo` at the beginning of the process.
+## Compatibility table
+| Object | Command | Status |
+|--------|---------|--------|
+| general | | supported |
+| general | status | supported |
+| general | hostname | supported |
+| general | permissions | not supported |
+| general | logging | not supported |
+| networking | | supported |
+| networking | on | supported |
+| networking | off | supported |
+| networking | connectivity | supported |
+| radio | | supported |
+| radio | all | supported |
+| radio | wifi | supported |
+| radio | wwan | supported |
+| connection | | supported |
+| connection | show | supported |
+| connection | up | supported |
+| connection | down | supported |
+| connection | add | supported |
+| connection | modify | supported |
+| connection | clone | not supported |
+| connection | edit | not supported |
+| connection | delete | supported |
+| connection | reload | supported |
+| connection | load | not supported |
+| connection | import | not supported |
+| connection | export | not supported |
+| device | | supported |
+| device | status | supported |
+| device | show | supported |
+| device | set | not supported |
+| device | connect | supported |
+| device | reapply | supported |
+| device | modify | not supported |
+| device | disconnect | supported |
+| device | delete | supported |
+| device | monitor | not supported |
+| device | wifi | supported |
+| device | wifi connect | supported |
+| device | wifi rescan | supported |
+| device | wifi hotspot | supported |
+| device | lldp | not supported |
+| agent | | not supported |
+| agent | secret | not supported |
+| agent | polkit | not supported |
+| agent | all | not supported |
+| monitor | | not supported |
+## API
+### connection
+#### nmcli.connection
+Get a list of connections.
+```
+nmcli.connection() -> List[Connection]
+```
+#### nmcli.connection.add
+Create a new connection using specified properties.
+```
+nmcli.connection.add(
+ conn_type: str,
+ options: Optional[ConnectionOptions] = None,
+ ifname: str = "*",
+ name: str = None,
+ autoconnect: bool = None) -> None
+```
+#### nmcli.connection.modify
+Add, modify or remove properties in the connection profile.
+```
+nmcli.connection.modify(name: str, options: ConnectionOptions) -> None
+```
+#### nmcli.connection.delete
+Delete a configured connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.delete(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.up
+Activate a connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.up(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.down
+Deactivate a connection from a device without preventing the device from further auto-activation.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.down(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.show
+Show details for specified connections.
+```
+nmcli.connection.show(name: str) -> ConnectionDetails
+```
+#### nmcli.connection.reload
+Reload all connection files from disk.
+```
+nmcli.connection.reload() -> None
+```
+### device
+#### nmcli.device
+Print status of devices.
+```
+nmcli.device() -> List[Device]
+```
+#### nmcli.device.status
+Show status for all devices.
+```
+nmcli.device.status() -> List[Device]
+```
+#### nmcli.device.show
+Show details of device.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show(ifname: str, fields: str = None) -> DeviceDetails
+```
+#### nmcli.device.show_all
+Show details of devices.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show_all(fields: str = None) -> List[DeviceDetails]
+```
+#### nmcli.device.connect
+Connect the device.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.connect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.disconnect
+Disconnect devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.disconnect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.reapply
+Attempts to update device with changes to the currently active connection made since it was last applied.
+```
+nmcli.device.reapply(ifname: str) -> None
+```
+#### nmcli.device.delete
+Delete the software devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.delete(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.wifi
+List available Wi-Fi access points.
+```
+nmcli.device.wifi(ifname: str = None) -> List[DeviceWifi]
+```
+#### nmcli.device.wifi_connect
+Connect to a Wi-Fi network specified by SSID or BSSID.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.wifi_connect(ssid: str,
+ password: str,
+ ifname: str = None,
+ wait: int = None) -> None
+```
+#### nmcli.device.wifi_hotspot
+Create a Wi-Fi hotspot
+```
+nmcli.device.wifi_hotspot(ifname: str = None,
+ con_name: str = None,
+ ssid: str = None,
+ band: str = None,
+ channel: int = None,
+ password: str = None) -> Hotspot
+```
+#### nmcli.device.wifi_rescan
+Request that NetworkManager immediately re-scan for available access points.
+```
+nmcli.device.wifi_rescan(ifname: str = None, ssid: str = None) -> None
+```
+### general
+#### nmcli.general
+Show overall status of NetworkManager.
+```
+nmcli.general() -> General
+```
+#### nmcli.general.status
+Show overall status of NetworkManager.
+```
+nmcli.general.status() -> General
+```
+#### nmcli.general.get_hostname
+Get persistent system hostname.
+```
+nmcli.general.get_hostname() -> str
+```
+#### nmcli.general.set_hostname
+Change persistent system hostname.
+```
+nmcli.general.set_hostname(hostname: str) -> None
+```
+### networking
+#### nmcli.networking
+Get network connectivity state.
+```
+nmcli.networking() -> NetworkConnectivity
+```
+#### nmcli.networking.on
+Switch networking on.
+```
+nmcli.networking.on() -> None
+```
+#### nmcli.networking.off
+Switch networking off.
+```
+nmcli.networking.off() -> None
+```
+#### nmcli.networking.connectivity
+Get network connectivity state.
+The optional 'check' argument makes NetworkManager re-check the connectivity.
+```
+nmcli.networking.connectivity(check:bool = False) -> NetworkConnectivity
+```
+### radio
+#### nmcli.radio
+Get status of all radio switches.
+```
+nmcli.radio() -> Radio
+```
+#### nmcli.radio.all
+Get status of all radio switches.
+```
+nmcli.radio.all() -> Radio
+```
+#### nmcli.radio.all_on
+Turn on all radio switches.
+```
+nmcli.radio.all_on() -> None
+```
+#### nmcli.radio.all_off
+Turn off all radio switches.
+```
+nmcli.radio.all_off() -> None
+```
+#### nmcli.radio.wifi
+Get status of Wi-Fi radio switch.
+```
+nmcli.radio.wifi() -> bool
+```
+#### nmcli.radio.wifi_on
+Turn on Wi-Fi radio switches.
+```
+nmcli.radio.wifi_on() -> None
+```
+#### nmcli.radio.wifi_off
+Turn off Wi-Fi radio switches.
+```
+nmcli.radio.wifi_off() -> None
+```
+#### nmcli.radio.wwan
+Get status of mobile broadband radio switch.
+```
+nmcli.radio.wwan() -> bool
+```
+#### nmcli.radio.wwan_on
+Turn on mobile broadband radio switches.
+```
+nmcli.radio.wwan_on() -> None
+```
+#### nmcli.radio.wwan_off
+Turn off mobile broadband radio switches.
+```
+nmcli.radio.wwan_off() -> None
+```
+### other
+#### nmcli.disable_use_sudo
+Disable the use of sudo.
+```
+nmcli.disable_use_sudo() -> None
+```
+#### nmcli.set_lang
+Change the environment variable LANG from the default `C`.
+Run this command when you want to use `C.UTF-8`.
+```
+nmcli.set_lang(lang: str) -> None
+```
+## Change Log
+### 1.2.0
+- Added support for encodings other than UTF-8.
+### 1.1.2
+- Fixed a problem with environment variables being scraped.
+### 1.1.1
+- Include LICENSE.txt in the tar.
+### 1.1.0
+- Added fields option to `nmcli.device.show` and `nmcli.device.show_all`
+### 1.0.0
+- Handle connection failure exceptions with `nmcli.device.wifi_connect`.
+- Added wait param to `nmcli.connection.delete`, `nmcli.connection.up`, `nmcli.connection.down`, `nmcli.device.connect`, `nmcli.device.disconnect`, `nmcli.device.delete`, `nmcli.device.wifi_connect`.
+### 0.9.0
+- Added ifname param to wifi.
+### 0.8.0
+- Added support for changing the LANG environment variable.
+### 0.7.0
+- Added ifname param to wifi_connect.
+### 0.6.1
+- Fixed a bug in the autoconnect parameter of the nmcli.connection.add method (made the default value conform to the specification of nmcli connection add).
+### 0.6.0
+- Added BSSID and FREQ to DeviceWifi.
+### 0.5.0
+- Added support for "nmcli device wifi hotspot".
+- Added support for "nmcli device wifi rescan".
+### 0.4.2
+- Fixed the parsing of device wifi.
+### 0.4.1
+- Fixed parsing when SSID has a space.
+### 0.4.0
+- Added disabling of sudo usage.
+- Added support for parsing the execution results of recent versions of the nmcli device wifi command.
+### 0.3.1
+- Fixed device status and device wifi parsing bug.
+### 0.3.0
+- Added networking and radio APIs.
+- Added more APIs for connection, device and general.
+- Changed the properties of the General data class.
+- Changed throw a ValueError exception if the regular expression pattern is not matched.
+### 0.2.2
+- Fix the parsing bug of connection names that contain spaces (connection.show).
+- Added getting items that begin with a capital letter.
+### 0.2.1
+- Fix the parsing bug of connection names that contain spaces.
+### 0.2.0
+- Added dummy classes.
+### 0.1.0
+- Initial release.
+## License
+MIT
+
+%package help
+Summary: Development documents and examples for nmcli
+Provides: python3-nmcli-doc
+%description help
+nmcli is a python wrapper library for the network-manager cli client.
+## Quick Sample
+Here is a simple usecase.
+```python
+import nmcli
+try:
+ print(nmcli.connection())
+ print(nmcli.device())
+ print(nmcli.device.wifi())
+ print(nmcli.general())
+ nmcli.device.wifi_connect('AP1', 'passphrase')
+ nmcli.connection.modify('AP1', {
+ 'ipv4.addresses': '192.168.1.1/24',
+ 'ipv4.gateway': '192.168.1.255',
+ 'ipv4.method': 'manual'
+ })
+ nmcli.connection.down('AP1')
+ nmcli.connection.up('AP1')
+ nmcli.connection.delete('AP1')
+except Exception as e:
+ print(e)
+```
+## Dependency
+* NetworkManager
+ * `sudo apt install network-manager` (Debian)
+* User who can execute nmcli with sudo with NOPASSWD
+ * If sudo is not needed (like root user), use `disable_use_sudo` at the beginning of the process.
+## Compatibility table
+| Object | Command | Status |
+|--------|---------|--------|
+| general | | supported |
+| general | status | supported |
+| general | hostname | supported |
+| general | permissions | not supported |
+| general | logging | not supported |
+| networking | | supported |
+| networking | on | supported |
+| networking | off | supported |
+| networking | connectivity | supported |
+| radio | | supported |
+| radio | all | supported |
+| radio | wifi | supported |
+| radio | wwan | supported |
+| connection | | supported |
+| connection | show | supported |
+| connection | up | supported |
+| connection | down | supported |
+| connection | add | supported |
+| connection | modify | supported |
+| connection | clone | not supported |
+| connection | edit | not supported |
+| connection | delete | supported |
+| connection | reload | supported |
+| connection | load | not supported |
+| connection | import | not supported |
+| connection | export | not supported |
+| device | | supported |
+| device | status | supported |
+| device | show | supported |
+| device | set | not supported |
+| device | connect | supported |
+| device | reapply | supported |
+| device | modify | not supported |
+| device | disconnect | supported |
+| device | delete | supported |
+| device | monitor | not supported |
+| device | wifi | supported |
+| device | wifi connect | supported |
+| device | wifi rescan | supported |
+| device | wifi hotspot | supported |
+| device | lldp | not supported |
+| agent | | not supported |
+| agent | secret | not supported |
+| agent | polkit | not supported |
+| agent | all | not supported |
+| monitor | | not supported |
+## API
+### connection
+#### nmcli.connection
+Get a list of connections.
+```
+nmcli.connection() -> List[Connection]
+```
+#### nmcli.connection.add
+Create a new connection using specified properties.
+```
+nmcli.connection.add(
+ conn_type: str,
+ options: Optional[ConnectionOptions] = None,
+ ifname: str = "*",
+ name: str = None,
+ autoconnect: bool = None) -> None
+```
+#### nmcli.connection.modify
+Add, modify or remove properties in the connection profile.
+```
+nmcli.connection.modify(name: str, options: ConnectionOptions) -> None
+```
+#### nmcli.connection.delete
+Delete a configured connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.delete(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.up
+Activate a connection.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.up(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.down
+Deactivate a connection from a device without preventing the device from further auto-activation.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.connection.down(name: str, wait: int = None) -> None
+```
+#### nmcli.connection.show
+Show details for specified connections.
+```
+nmcli.connection.show(name: str) -> ConnectionDetails
+```
+#### nmcli.connection.reload
+Reload all connection files from disk.
+```
+nmcli.connection.reload() -> None
+```
+### device
+#### nmcli.device
+Print status of devices.
+```
+nmcli.device() -> List[Device]
+```
+#### nmcli.device.status
+Show status for all devices.
+```
+nmcli.device.status() -> List[Device]
+```
+#### nmcli.device.show
+Show details of device.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show(ifname: str, fields: str = None) -> DeviceDetails
+```
+#### nmcli.device.show_all
+Show details of devices.
+The `fields` argument applies the same effect to the command as the `-f | --fields` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.show_all(fields: str = None) -> List[DeviceDetails]
+```
+#### nmcli.device.connect
+Connect the device.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.connect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.disconnect
+Disconnect devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.disconnect(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.reapply
+Attempts to update device with changes to the currently active connection made since it was last applied.
+```
+nmcli.device.reapply(ifname: str) -> None
+```
+#### nmcli.device.delete
+Delete the software devices.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.delete(ifname: str, wait: int = None) -> None
+```
+#### nmcli.device.wifi
+List available Wi-Fi access points.
+```
+nmcli.device.wifi(ifname: str = None) -> List[DeviceWifi]
+```
+#### nmcli.device.wifi_connect
+Connect to a Wi-Fi network specified by SSID or BSSID.
+The `wait` argument applies the same effect to the command as the `--wait` option. If it is omitted, the default behavior is followed.
+```
+nmcli.device.wifi_connect(ssid: str,
+ password: str,
+ ifname: str = None,
+ wait: int = None) -> None
+```
+#### nmcli.device.wifi_hotspot
+Create a Wi-Fi hotspot
+```
+nmcli.device.wifi_hotspot(ifname: str = None,
+ con_name: str = None,
+ ssid: str = None,
+ band: str = None,
+ channel: int = None,
+ password: str = None) -> Hotspot
+```
+#### nmcli.device.wifi_rescan
+Request that NetworkManager immediately re-scan for available access points.
+```
+nmcli.device.wifi_rescan(ifname: str = None, ssid: str = None) -> None
+```
+### general
+#### nmcli.general
+Show overall status of NetworkManager.
+```
+nmcli.general() -> General
+```
+#### nmcli.general.status
+Show overall status of NetworkManager.
+```
+nmcli.general.status() -> General
+```
+#### nmcli.general.get_hostname
+Get persistent system hostname.
+```
+nmcli.general.get_hostname() -> str
+```
+#### nmcli.general.set_hostname
+Change persistent system hostname.
+```
+nmcli.general.set_hostname(hostname: str) -> None
+```
+### networking
+#### nmcli.networking
+Get network connectivity state.
+```
+nmcli.networking() -> NetworkConnectivity
+```
+#### nmcli.networking.on
+Switch networking on.
+```
+nmcli.networking.on() -> None
+```
+#### nmcli.networking.off
+Switch networking off.
+```
+nmcli.networking.off() -> None
+```
+#### nmcli.networking.connectivity
+Get network connectivity state.
+The optional 'check' argument makes NetworkManager re-check the connectivity.
+```
+nmcli.networking.connectivity(check:bool = False) -> NetworkConnectivity
+```
+### radio
+#### nmcli.radio
+Get status of all radio switches.
+```
+nmcli.radio() -> Radio
+```
+#### nmcli.radio.all
+Get status of all radio switches.
+```
+nmcli.radio.all() -> Radio
+```
+#### nmcli.radio.all_on
+Turn on all radio switches.
+```
+nmcli.radio.all_on() -> None
+```
+#### nmcli.radio.all_off
+Turn off all radio switches.
+```
+nmcli.radio.all_off() -> None
+```
+#### nmcli.radio.wifi
+Get status of Wi-Fi radio switch.
+```
+nmcli.radio.wifi() -> bool
+```
+#### nmcli.radio.wifi_on
+Turn on Wi-Fi radio switches.
+```
+nmcli.radio.wifi_on() -> None
+```
+#### nmcli.radio.wifi_off
+Turn off Wi-Fi radio switches.
+```
+nmcli.radio.wifi_off() -> None
+```
+#### nmcli.radio.wwan
+Get status of mobile broadband radio switch.
+```
+nmcli.radio.wwan() -> bool
+```
+#### nmcli.radio.wwan_on
+Turn on mobile broadband radio switches.
+```
+nmcli.radio.wwan_on() -> None
+```
+#### nmcli.radio.wwan_off
+Turn off mobile broadband radio switches.
+```
+nmcli.radio.wwan_off() -> None
+```
+### other
+#### nmcli.disable_use_sudo
+Disable the use of sudo.
+```
+nmcli.disable_use_sudo() -> None
+```
+#### nmcli.set_lang
+Change the environment variable LANG from the default `C`.
+Run this command when you want to use `C.UTF-8`.
+```
+nmcli.set_lang(lang: str) -> None
+```
+## Change Log
+### 1.2.0
+- Added support for encodings other than UTF-8.
+### 1.1.2
+- Fixed a problem with environment variables being scraped.
+### 1.1.1
+- Include LICENSE.txt in the tar.
+### 1.1.0
+- Added fields option to `nmcli.device.show` and `nmcli.device.show_all`
+### 1.0.0
+- Handle connection failure exceptions with `nmcli.device.wifi_connect`.
+- Added wait param to `nmcli.connection.delete`, `nmcli.connection.up`, `nmcli.connection.down`, `nmcli.device.connect`, `nmcli.device.disconnect`, `nmcli.device.delete`, `nmcli.device.wifi_connect`.
+### 0.9.0
+- Added ifname param to wifi.
+### 0.8.0
+- Added support for changing the LANG environment variable.
+### 0.7.0
+- Added ifname param to wifi_connect.
+### 0.6.1
+- Fixed a bug in the autoconnect parameter of the nmcli.connection.add method (made the default value conform to the specification of nmcli connection add).
+### 0.6.0
+- Added BSSID and FREQ to DeviceWifi.
+### 0.5.0
+- Added support for "nmcli device wifi hotspot".
+- Added support for "nmcli device wifi rescan".
+### 0.4.2
+- Fixed the parsing of device wifi.
+### 0.4.1
+- Fixed parsing when SSID has a space.
+### 0.4.0
+- Added disabling of sudo usage.
+- Added support for parsing the execution results of recent versions of the nmcli device wifi command.
+### 0.3.1
+- Fixed device status and device wifi parsing bug.
+### 0.3.0
+- Added networking and radio APIs.
+- Added more APIs for connection, device and general.
+- Changed the properties of the General data class.
+- Changed throw a ValueError exception if the regular expression pattern is not matched.
+### 0.2.2
+- Fix the parsing bug of connection names that contain spaces (connection.show).
+- Added getting items that begin with a capital letter.
+### 0.2.1
+- Fix the parsing bug of connection names that contain spaces.
+### 0.2.0
+- Added dummy classes.
+### 0.1.0
+- Initial release.
+## License
+MIT
+
+%prep
+%autosetup -n nmcli-1.2.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-nmcli -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c5e6be8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+3df6f6eb4edfb18fa6be20f13e484d31 nmcli-1.2.0.tar.gz