%global _empty_manifest_terminate_build 0 Name: python-FixedWidth Version: 1.3 Release: 1 Summary: Two-way fixed-width <--> Python dict converter. License: BSD URL: https://github.com/ShawnMilo/fixedwidth Source0: https://mirrors.nju.edu.cn/pypi/web/packages/94/b3/a6c09d71a822d3570bcc1ec807af99052ef41d6b4606f67340f23933fc54/FixedWidth-1.3.tar.gz BuildArch: noarch Requires: python3-six %description Easy two-way conversion between Python dictionaries and fixed-width files. The FixedWidth class has been used in production without modification for several years. This module has also proven useful for "debugging" a fixed-width spec -- an invalid configuration reports an error that may not be obvious from reading the spec document. Requires a 'config' dictonary. See unit tests for full example. Small example SAMPLE_CONFIG = { 'first_name': { 'required': True, 'type': 'string', 'start_pos': 1, 'end_pos': 10, 'alignment': 'left', 'padding': ' ' }, 'last_name': { 'required': True, 'type': 'string', 'start_pos': 11, 'end_pos': 30, 'alignment': 'left', 'padding': ' ' }, 'date': { 'required': True, 'type': 'date', 'start_pos': 31, 'end_pos': 38, 'alignment': 'left', 'format': '%Y%m%d', 'padding': ' ' }, 'decimal': { 'required': True, 'type': 'decimal', 'precision': 2, 'rounding': decimal.ROUND_UP, 'start_pos': 38, 'end_pos': 42, 'alignment': 'left', 'padding': ' ' }, } Notes: * A field must have a start_pos and either an end_pos or a length. If both an end_pos and a length are provided, they must not conflict. * A field may not have a default value if it is required. * Supported types are string, integer, and decimal. * Alignment and padding are required. License: BSD %package -n python3-FixedWidth Summary: Two-way fixed-width <--> Python dict converter. Provides: python-FixedWidth BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-FixedWidth Easy two-way conversion between Python dictionaries and fixed-width files. The FixedWidth class has been used in production without modification for several years. This module has also proven useful for "debugging" a fixed-width spec -- an invalid configuration reports an error that may not be obvious from reading the spec document. Requires a 'config' dictonary. See unit tests for full example. Small example SAMPLE_CONFIG = { 'first_name': { 'required': True, 'type': 'string', 'start_pos': 1, 'end_pos': 10, 'alignment': 'left', 'padding': ' ' }, 'last_name': { 'required': True, 'type': 'string', 'start_pos': 11, 'end_pos': 30, 'alignment': 'left', 'padding': ' ' }, 'date': { 'required': True, 'type': 'date', 'start_pos': 31, 'end_pos': 38, 'alignment': 'left', 'format': '%Y%m%d', 'padding': ' ' }, 'decimal': { 'required': True, 'type': 'decimal', 'precision': 2, 'rounding': decimal.ROUND_UP, 'start_pos': 38, 'end_pos': 42, 'alignment': 'left', 'padding': ' ' }, } Notes: * A field must have a start_pos and either an end_pos or a length. If both an end_pos and a length are provided, they must not conflict. * A field may not have a default value if it is required. * Supported types are string, integer, and decimal. * Alignment and padding are required. License: BSD %package help Summary: Development documents and examples for FixedWidth Provides: python3-FixedWidth-doc %description help Easy two-way conversion between Python dictionaries and fixed-width files. The FixedWidth class has been used in production without modification for several years. This module has also proven useful for "debugging" a fixed-width spec -- an invalid configuration reports an error that may not be obvious from reading the spec document. Requires a 'config' dictonary. See unit tests for full example. Small example SAMPLE_CONFIG = { 'first_name': { 'required': True, 'type': 'string', 'start_pos': 1, 'end_pos': 10, 'alignment': 'left', 'padding': ' ' }, 'last_name': { 'required': True, 'type': 'string', 'start_pos': 11, 'end_pos': 30, 'alignment': 'left', 'padding': ' ' }, 'date': { 'required': True, 'type': 'date', 'start_pos': 31, 'end_pos': 38, 'alignment': 'left', 'format': '%Y%m%d', 'padding': ' ' }, 'decimal': { 'required': True, 'type': 'decimal', 'precision': 2, 'rounding': decimal.ROUND_UP, 'start_pos': 38, 'end_pos': 42, 'alignment': 'left', 'padding': ' ' }, } Notes: * A field must have a start_pos and either an end_pos or a length. If both an end_pos and a length are provided, they must not conflict. * A field may not have a default value if it is required. * Supported types are string, integer, and decimal. * Alignment and padding are required. License: BSD %prep %autosetup -n FixedWidth-1.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-FixedWidth -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed Apr 12 2023 Python_Bot - 1.3-1 - Package Spec generated