summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-31 07:20:40 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-31 07:20:40 +0000
commit0fbf22581a0f592df59f4ea6ec60e3b2c7520945 (patch)
tree77bdcba3c28b91d52cfbcf026b7c808d5190437c
parentf5fb1bea9299f0d1f6832a64f9bd3f5446227d0c (diff)
automatic import of python-cutplace
-rw-r--r--.gitignore1
-rw-r--r--python-cutplace.spec392
-rw-r--r--sources1
3 files changed, 394 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..3466aa1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..2e746cd
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+7a54372fe15d39f7cb02ec47b895eded cutplace-0.9.1.tar.gz