!7 Update package

From: @Wangjunqi123 
Reviewed-by: @yangzhao_kl 
Signed-off-by: @yangzhao_kl
This commit is contained in:
openeuler-ci-bot 2022-11-25 14:18:03 +00:00 committed by Gitee
commit 4e348027d3
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 13 additions and 159 deletions

View File

@ -1,186 +1,36 @@
%global _empty_manifest_terminate_build 0 %global _empty_manifest_terminate_build 0
Name: python-warlock Name: python-warlock
Version: 1.3.3 Version: 2.0.1
Release: 1 Release: 1
Summary: Python object model built on JSON schema and JSON patch. Summary: Python object model built on JSON schema and JSON patch.
License: Apache-2.0 License: Apache-2.0
URL: http://github.com/bcwaldon/warlock URL: http://github.com/bcwaldon/warlock
Source0: https://files.pythonhosted.org/packages/c2/36/178b26a338cd6d30523246da4721b1114306f588deb813f3f503052825ee/warlock-1.3.3.tar.gz Source0: https://files.pythonhosted.org/packages/de/cf/ba9ac96d09b797c377e2c12c0eb6b19565f3b2a2efb55932d319e319b622/warlock-2.0.1.tar.gz
BuildArch: noarch BuildArch: noarch
%description %description
Warlock self-validating Python objects using JSON schema Warlock self-validating Python objects using JSON schema
%package -n python3-warlock %package -n python3-warlock
Summary: Python object model built on JSON schema and JSON patch. Summary: Python object model built on JSON schema and JSON patch.
Provides: python-warlock Provides: python-warlock
Requires: python3-jsonpatch
Requires: python3-jsonschema
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
%description -n python3-warlock %description -n python3-warlock
# Warlock — self-validating Python objects using JSON schema Warlock self-validating Python objects using JSON schema
[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]
[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds]
[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
## Installation
Warlock is [available on PyPI][warlock]:
```shell
pip install warlock
```
## Usage
1) Create your schema
```python
>>> schema = {
'name': 'Country',
'properties': {
'name': {'type': 'string'},
'abbreviation': {'type': 'string'},
'population': {'type': 'integer'},
},
'additionalProperties': False,
}
```
2) Create a model
```python
>>> import warlock
>>> Country = warlock.model_factory(schema)
```
3) Create an object using your model
```python
>>> sweden = Country(name='Sweden', abbreviation='SE')
```
4) Let the object validate itself
```python
>>> sweden.name = 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'name' to '5'
>>> sweden.overlord = 'Bears'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
```
5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes
```python
>>> sweden.population=9453000
>>> sweden.patch
'[{"path": "/population", "value": 9453000, "op": "add"}]'
```
[warlock]: https://pypi.org/project/warlock/
[pip]: https://pip.pypa.io/en/stable/
[ci-builds]: https://travis-ci.org/bcwaldon/warlock
[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
[pypistats]: https://pypistats.org/packages/warlock
%package help %package help
Summary: Development documents and examples for warlock Summary: Development documents and examples for warlock
Provides: python3-warlock-doc Provides: python3-warlock-doc
%description help %description help
# Warlock — self-validating Python objects using JSON schema Warlock self-validating Python objects using JSON schema
[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]
[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds]
[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
## Installation
Warlock is [available on PyPI][warlock]:
```shell
pip install warlock
```
## Usage
1) Create your schema
```python
>>> schema = {
'name': 'Country',
'properties': {
'name': {'type': 'string'},
'abbreviation': {'type': 'string'},
'population': {'type': 'integer'},
},
'additionalProperties': False,
}
```
2) Create a model
```python
>>> import warlock
>>> Country = warlock.model_factory(schema)
```
3) Create an object using your model
```python
>>> sweden = Country(name='Sweden', abbreviation='SE')
```
4) Let the object validate itself
```python
>>> sweden.name = 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'name' to '5'
>>> sweden.overlord = 'Bears'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
```
5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes
```python
>>> sweden.population=9453000
>>> sweden.patch
'[{"path": "/population", "value": 9453000, "op": "add"}]'
```
[warlock]: https://pypi.org/project/warlock/
[pip]: https://pip.pypa.io/en/stable/
[ci-builds]: https://travis-ci.org/bcwaldon/warlock
[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
[pypistats]: https://pypistats.org/packages/warlock
%prep %prep
%autosetup -n warlock-1.3.3 %autosetup -n warlock-%{version}
%build %build
%py3_build %py3_build
@ -220,5 +70,9 @@ mv %{buildroot}/doclist.lst .
%{_docdir}/* %{_docdir}/*
%changelog %changelog
* Tue Nov 01 2022 wangjunqi <wangjunqi@kylinos.cn> - 2.0.1-1
- Update package to version 2.0.1
* Mon Nov 23 2020 Python_Bot <Python_Bot@openeuler.org> * Mon Nov 23 2020 Python_Bot <Python_Bot@openeuler.org>
- Package Spec generated - Package Spec generated

Binary file not shown.

BIN
warlock-2.0.1.tar.gz Normal file

Binary file not shown.