diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 07:20:40 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 07:20:40 +0000 |
commit | 0fbf22581a0f592df59f4ea6ec60e3b2c7520945 (patch) | |
tree | 77bdcba3c28b91d52cfbcf026b7c808d5190437c | |
parent | f5fb1bea9299f0d1f6832a64f9bd3f5446227d0c (diff) |
automatic import of python-cutplace
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cutplace.spec | 392 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 394 insertions, 0 deletions
@@ -0,0 +1 @@ +/cutplace-0.9.1.tar.gz diff --git a/python-cutplace.spec b/python-cutplace.spec new file mode 100644 index 0000000..dbfba2d --- /dev/null +++ b/python-cutplace.spec @@ -0,0 +1,392 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cutplace +Version: 0.9.1 +Release: 1 +Summary: validate data stored in CSV, PRN, ODS or Excel files +License: LGPL-3.0-only +URL: https://github.com/roskakori/cutplace +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2d/37/8017f70e50336795ee094fefd1ef6138b1374c587dbb63a1bf2c8b26e1b5/cutplace-0.9.1.tar.gz +BuildArch: noarch + +Requires: python3-xlrd +Requires: python3-XlsxWriter + +%description +.. image:: https://img.shields.io/pypi/v/cutplace + :target: https://pypi.org/project/cutplace/ + :alt: PyPI + +.. image:: https://readthedocs.org/projects/cutplace/badge/?version=latest + :target: https://cutplace.readthedocs.io/ + :alt: Documentation + +.. image:: https://github.com/roskakori/cutplace/actions/workflows/build.yaml/badge.svg + :target: https://travis-ci.org/roskakori/cutplace + :alt: Build Status + +.. image:: https://coveralls.io/repos/roskakori/cutplace/badge.png?branch=master + :target: https://coveralls.io/r/roskakori/cutplace?branch=master + :alt: Test coverage + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Black + +Cutplace is a tool and API to validate that tabular data stored in CSV, +Excel, ODS and PRN files conform to a cutplace interface definition (CID). + +As an example, consider the following ``customers.csv`` file that stores data +about customers:: + + customer_id,surname,first_name,born,gender + 1,Beck,Tyler,1995-11-15,male + 2,Gibson,Martin,1969-08-18,male + 3,Hopkins,Chester,1982-12-19,male + 4,Lopez,Tyler,1930-10-13,male + 5,James,Ana,1943-08-10,female + 6,Martin,Jon,1932-09-27,male + 7,Knight,Carolyn,1977-05-25,female + 8,Rose,Tammy,2004-01-12,female + 9,Gutierrez,Reginald,2010-05-18,male + 10,Phillips,Pauline,1960-11-09,female + +A CID can describe such a file in an easy to read way. It consists of +three sections. First, there is the general data format: + +== ============== =========== +.. Property Value +== ============== =========== +D Format Delimited +D Encoding UTF-8 +D Header 1 +D Line delimiter LF +D Item delimiter , +== ============== =========== + +Next there are the fields stored in the data file: + +== ============= ========== ===== ====== ======== ============================== +.. Name Example Empty Length Type Rule +== ============= ========== ===== ====== ======== ============================== +F customer_id 3798 Integer 0...99999 +F surname Miller ...60 +F first_name John X ...60 +F date_of_birth 1978-11-27 DateTime YYYY-MM-DD +F gender male X Choice female, male +== ============= ========== ===== ====== ======== ============================== + +Optionally you can describe conditions that must be met across the whole file: + +== ======================= ======== =========== +.. Description Type Rule +== ======================= ======== =========== +C customer must be unique IsUnique customer_id +== ======================= ======== =========== + +The CID can be stored in common spreadsheet formats, in particular +Excel and ODS, for example ``cid_customers.ods``. + +Cutplace can validate that the data file conforms to the CID:: + + $ cutplace cid_customers.ods customers.csv + +Now add a new line with a broken ``date_of_birth``:: + + 73921,Harris,Diana,04.08.1953,female + +Cutplace rejects this file with the error message: + + customers.csv (R12C4): cannot accept field 'date_of_birth': date must + match format YYYY-MM-DD (%Y-%m-%d) but is: '04.08.1953' + +Additionally, cutplace provides an easy to use API to read and write +tabular data files using a common interface without having to deal with +the intrinsic of data format specific modules. To read and validate the +above example:: + + import cutplace + import cutplace.errors + + cid_path = 'cid_customers.ods' + data_path = 'customers.csv' + try: + for row in cutplace.rows(cid_path, data_path): + pass # We could also do something useful with the data in ``row`` here. + except cutplace.errors.DataError as error: + print(error) + +For more information, read the documentation at +http://cutplace.readthedocs.org/ or visit the project at +https://github.com/roskakori/cutplace. + + +%package -n python3-cutplace +Summary: validate data stored in CSV, PRN, ODS or Excel files +Provides: python-cutplace +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cutplace +.. image:: https://img.shields.io/pypi/v/cutplace + :target: https://pypi.org/project/cutplace/ + :alt: PyPI + +.. image:: https://readthedocs.org/projects/cutplace/badge/?version=latest + :target: https://cutplace.readthedocs.io/ + :alt: Documentation + +.. image:: https://github.com/roskakori/cutplace/actions/workflows/build.yaml/badge.svg + :target: https://travis-ci.org/roskakori/cutplace + :alt: Build Status + +.. image:: https://coveralls.io/repos/roskakori/cutplace/badge.png?branch=master + :target: https://coveralls.io/r/roskakori/cutplace?branch=master + :alt: Test coverage + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Black + +Cutplace is a tool and API to validate that tabular data stored in CSV, +Excel, ODS and PRN files conform to a cutplace interface definition (CID). + +As an example, consider the following ``customers.csv`` file that stores data +about customers:: + + customer_id,surname,first_name,born,gender + 1,Beck,Tyler,1995-11-15,male + 2,Gibson,Martin,1969-08-18,male + 3,Hopkins,Chester,1982-12-19,male + 4,Lopez,Tyler,1930-10-13,male + 5,James,Ana,1943-08-10,female + 6,Martin,Jon,1932-09-27,male + 7,Knight,Carolyn,1977-05-25,female + 8,Rose,Tammy,2004-01-12,female + 9,Gutierrez,Reginald,2010-05-18,male + 10,Phillips,Pauline,1960-11-09,female + +A CID can describe such a file in an easy to read way. It consists of +three sections. First, there is the general data format: + +== ============== =========== +.. Property Value +== ============== =========== +D Format Delimited +D Encoding UTF-8 +D Header 1 +D Line delimiter LF +D Item delimiter , +== ============== =========== + +Next there are the fields stored in the data file: + +== ============= ========== ===== ====== ======== ============================== +.. Name Example Empty Length Type Rule +== ============= ========== ===== ====== ======== ============================== +F customer_id 3798 Integer 0...99999 +F surname Miller ...60 +F first_name John X ...60 +F date_of_birth 1978-11-27 DateTime YYYY-MM-DD +F gender male X Choice female, male +== ============= ========== ===== ====== ======== ============================== + +Optionally you can describe conditions that must be met across the whole file: + +== ======================= ======== =========== +.. Description Type Rule +== ======================= ======== =========== +C customer must be unique IsUnique customer_id +== ======================= ======== =========== + +The CID can be stored in common spreadsheet formats, in particular +Excel and ODS, for example ``cid_customers.ods``. + +Cutplace can validate that the data file conforms to the CID:: + + $ cutplace cid_customers.ods customers.csv + +Now add a new line with a broken ``date_of_birth``:: + + 73921,Harris,Diana,04.08.1953,female + +Cutplace rejects this file with the error message: + + customers.csv (R12C4): cannot accept field 'date_of_birth': date must + match format YYYY-MM-DD (%Y-%m-%d) but is: '04.08.1953' + +Additionally, cutplace provides an easy to use API to read and write +tabular data files using a common interface without having to deal with +the intrinsic of data format specific modules. To read and validate the +above example:: + + import cutplace + import cutplace.errors + + cid_path = 'cid_customers.ods' + data_path = 'customers.csv' + try: + for row in cutplace.rows(cid_path, data_path): + pass # We could also do something useful with the data in ``row`` here. + except cutplace.errors.DataError as error: + print(error) + +For more information, read the documentation at +http://cutplace.readthedocs.org/ or visit the project at +https://github.com/roskakori/cutplace. + + +%package help +Summary: Development documents and examples for cutplace +Provides: python3-cutplace-doc +%description help +.. image:: https://img.shields.io/pypi/v/cutplace + :target: https://pypi.org/project/cutplace/ + :alt: PyPI + +.. image:: https://readthedocs.org/projects/cutplace/badge/?version=latest + :target: https://cutplace.readthedocs.io/ + :alt: Documentation + +.. image:: https://github.com/roskakori/cutplace/actions/workflows/build.yaml/badge.svg + :target: https://travis-ci.org/roskakori/cutplace + :alt: Build Status + +.. image:: https://coveralls.io/repos/roskakori/cutplace/badge.png?branch=master + :target: https://coveralls.io/r/roskakori/cutplace?branch=master + :alt: Test coverage + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Black + +Cutplace is a tool and API to validate that tabular data stored in CSV, +Excel, ODS and PRN files conform to a cutplace interface definition (CID). + +As an example, consider the following ``customers.csv`` file that stores data +about customers:: + + customer_id,surname,first_name,born,gender + 1,Beck,Tyler,1995-11-15,male + 2,Gibson,Martin,1969-08-18,male + 3,Hopkins,Chester,1982-12-19,male + 4,Lopez,Tyler,1930-10-13,male + 5,James,Ana,1943-08-10,female + 6,Martin,Jon,1932-09-27,male + 7,Knight,Carolyn,1977-05-25,female + 8,Rose,Tammy,2004-01-12,female + 9,Gutierrez,Reginald,2010-05-18,male + 10,Phillips,Pauline,1960-11-09,female + +A CID can describe such a file in an easy to read way. It consists of +three sections. First, there is the general data format: + +== ============== =========== +.. Property Value +== ============== =========== +D Format Delimited +D Encoding UTF-8 +D Header 1 +D Line delimiter LF +D Item delimiter , +== ============== =========== + +Next there are the fields stored in the data file: + +== ============= ========== ===== ====== ======== ============================== +.. Name Example Empty Length Type Rule +== ============= ========== ===== ====== ======== ============================== +F customer_id 3798 Integer 0...99999 +F surname Miller ...60 +F first_name John X ...60 +F date_of_birth 1978-11-27 DateTime YYYY-MM-DD +F gender male X Choice female, male +== ============= ========== ===== ====== ======== ============================== + +Optionally you can describe conditions that must be met across the whole file: + +== ======================= ======== =========== +.. Description Type Rule +== ======================= ======== =========== +C customer must be unique IsUnique customer_id +== ======================= ======== =========== + +The CID can be stored in common spreadsheet formats, in particular +Excel and ODS, for example ``cid_customers.ods``. + +Cutplace can validate that the data file conforms to the CID:: + + $ cutplace cid_customers.ods customers.csv + +Now add a new line with a broken ``date_of_birth``:: + + 73921,Harris,Diana,04.08.1953,female + +Cutplace rejects this file with the error message: + + customers.csv (R12C4): cannot accept field 'date_of_birth': date must + match format YYYY-MM-DD (%Y-%m-%d) but is: '04.08.1953' + +Additionally, cutplace provides an easy to use API to read and write +tabular data files using a common interface without having to deal with +the intrinsic of data format specific modules. To read and validate the +above example:: + + import cutplace + import cutplace.errors + + cid_path = 'cid_customers.ods' + data_path = 'customers.csv' + try: + for row in cutplace.rows(cid_path, data_path): + pass # We could also do something useful with the data in ``row`` here. + except cutplace.errors.DataError as error: + print(error) + +For more information, read the documentation at +http://cutplace.readthedocs.org/ or visit the project at +https://github.com/roskakori/cutplace. + + +%prep +%autosetup -n cutplace-0.9.1 + +%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-cutplace -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.1-1 +- Package Spec generated @@ -0,0 +1 @@ +7a54372fe15d39f7cb02ec47b895eded cutplace-0.9.1.tar.gz |