%global _empty_manifest_terminate_build 0 Name: python-netplan Version: 0.3.3 Release: 1 Summary: A library for parsing the netplan configuration data License: Apache License 2.0 URL: https://github.com/storpool/netplan Source0: https://mirrors.nju.edu.cn/pypi/web/packages/36/46/284e325e534b615f591fcf2b61381f67c82fce01de110be3f3fdb8db08a7/netplan-0.3.3.tar.gz BuildArch: noarch Requires: python3-PyYAML Requires: python3-typing %description # netplan - a Python library for parsing the netplan configuration data. ## Description This module parses the YAML configuration files describing the system's network configuration in the format used by the netplan.io package. The main parser is the "netplan.parser.Parser" class (also exported as "netplan.Parser"); its "parse()" method returns a data structure of the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). ## Example usage import netplan p = netplan.Parser() data = p.parse() for iface, cfg in data.items(): print('{section}/{name}'.format(section=cfg.section, name=iface) p = netplan.Parser() data = p.parse(exclude=['set-mtu.yaml']) fix = {'version': 2} for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): if cfg.get('mtu') != 9000: if cfg.section not in fix: fix[cfg.section] = {} fix[cfg.section][iface] = {'mtu': 9000} fix = {'network': fix} with open('/etc/netplan/set-mtu.yaml', mode='w') as f: print(yaml.dump(fix), file=f, end='') ## The netplan-parser tool The three types of queries - parse the interface data, get all related interfaces, and get only the physical related interfaces - are also available via the command-line `netplan-parser` tool: # Show the configuration of all interfaces in YAML format netplan-parser show # Show the configuration of the specified interfaces in JSON format netplan-parser -f json show eno1 eno2.617 # List the names of the interfaces related to the specified one netplan-parser -f names related eno2.617 # Show the configuration of the physical interfaces related to # the specified ones netplan-parser --format=json physical eno2.617 br1-eno1 ## Contact The `netplan` Python library was written by Peter Pentchev as part of the [OpenStack development][openstack-dev] team at [StorPool][storpool]. [openstack-dev]: mailto:openstack-dev@storpool.com [storpool]: https://storpool.com/ %package -n python3-netplan Summary: A library for parsing the netplan configuration data Provides: python-netplan BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-netplan # netplan - a Python library for parsing the netplan configuration data. ## Description This module parses the YAML configuration files describing the system's network configuration in the format used by the netplan.io package. The main parser is the "netplan.parser.Parser" class (also exported as "netplan.Parser"); its "parse()" method returns a data structure of the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). ## Example usage import netplan p = netplan.Parser() data = p.parse() for iface, cfg in data.items(): print('{section}/{name}'.format(section=cfg.section, name=iface) p = netplan.Parser() data = p.parse(exclude=['set-mtu.yaml']) fix = {'version': 2} for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): if cfg.get('mtu') != 9000: if cfg.section not in fix: fix[cfg.section] = {} fix[cfg.section][iface] = {'mtu': 9000} fix = {'network': fix} with open('/etc/netplan/set-mtu.yaml', mode='w') as f: print(yaml.dump(fix), file=f, end='') ## The netplan-parser tool The three types of queries - parse the interface data, get all related interfaces, and get only the physical related interfaces - are also available via the command-line `netplan-parser` tool: # Show the configuration of all interfaces in YAML format netplan-parser show # Show the configuration of the specified interfaces in JSON format netplan-parser -f json show eno1 eno2.617 # List the names of the interfaces related to the specified one netplan-parser -f names related eno2.617 # Show the configuration of the physical interfaces related to # the specified ones netplan-parser --format=json physical eno2.617 br1-eno1 ## Contact The `netplan` Python library was written by Peter Pentchev as part of the [OpenStack development][openstack-dev] team at [StorPool][storpool]. [openstack-dev]: mailto:openstack-dev@storpool.com [storpool]: https://storpool.com/ %package help Summary: Development documents and examples for netplan Provides: python3-netplan-doc %description help # netplan - a Python library for parsing the netplan configuration data. ## Description This module parses the YAML configuration files describing the system's network configuration in the format used by the netplan.io package. The main parser is the "netplan.parser.Parser" class (also exported as "netplan.Parser"); its "parse()" method returns a data structure of the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). ## Example usage import netplan p = netplan.Parser() data = p.parse() for iface, cfg in data.items(): print('{section}/{name}'.format(section=cfg.section, name=iface) p = netplan.Parser() data = p.parse(exclude=['set-mtu.yaml']) fix = {'version': 2} for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): if cfg.get('mtu') != 9000: if cfg.section not in fix: fix[cfg.section] = {} fix[cfg.section][iface] = {'mtu': 9000} fix = {'network': fix} with open('/etc/netplan/set-mtu.yaml', mode='w') as f: print(yaml.dump(fix), file=f, end='') ## The netplan-parser tool The three types of queries - parse the interface data, get all related interfaces, and get only the physical related interfaces - are also available via the command-line `netplan-parser` tool: # Show the configuration of all interfaces in YAML format netplan-parser show # Show the configuration of the specified interfaces in JSON format netplan-parser -f json show eno1 eno2.617 # List the names of the interfaces related to the specified one netplan-parser -f names related eno2.617 # Show the configuration of the physical interfaces related to # the specified ones netplan-parser --format=json physical eno2.617 br1-eno1 ## Contact The `netplan` Python library was written by Peter Pentchev as part of the [OpenStack development][openstack-dev] team at [StorPool][storpool]. [openstack-dev]: mailto:openstack-dev@storpool.com [storpool]: https://storpool.com/ %prep %autosetup -n netplan-0.3.3 %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-netplan -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 0.3.3-1 - Package Spec generated