diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:35:55 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:35:55 +0000 |
commit | e390d3d58d4e219244b43722493d8a35ed8ba55b (patch) | |
tree | d9f1b6d0f91b766d920b2caf1c6e69c5342ac441 | |
parent | f4caa0daf09e9b22a7ed76dcb7d0df3bd1145605 (diff) |
automatic import of python-pylint-protobuf
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pylint-protobuf.spec | 195 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 197 insertions, 0 deletions
@@ -0,0 +1 @@ +/pylint-protobuf-0.20.2.tar.gz diff --git a/python-pylint-protobuf.spec b/python-pylint-protobuf.spec new file mode 100644 index 0000000..4363980 --- /dev/null +++ b/python-pylint-protobuf.spec @@ -0,0 +1,195 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pylint-protobuf +Version: 0.20.2 +Release: 1 +Summary: A plugin for making Pylint aware of the fields of protobuf-generated classes +License: MIT +URL: https://github.com/nelfin/pylint-protobuf +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d8/f9/37adfb29dacb78cf99c1950f0ebc97cd75b37c5d6645cc2408cc13ecc805/pylint-protobuf-0.20.2.tar.gz +BuildArch: noarch + +Requires: python3-astroid +Requires: python3-pylint +Requires: python3-protobuf + +%description +`pylint-protobuf` is a Pylint plugin for making Pylint aware of generated +fields from Protobuf types. +## Install +Install from PyPI via: + pip install pylint-protobuf +Add or update `pylintrc` to load `pylint-protobuf`: + [MASTER] + load-plugins=pylint_protobuf +## Example + $ cat <<EOF >person.proto + message Person { + required string name = 1; + } + EOF + $ protoc person.proto --python_out=. + $ cat <<EOF >readme.py + from person_pb2 import Person + p = Person('all arguments must be kwargs') + p.invalid_field = 'value' + p.name = 123 + EOF + $ pip install pylint-protobuf + $ pylint --load-plugins=pylint_protobuf readme.py + ************* Module readme + readme.py:2:4: E5904: Positional arguments are not allowed in message constructors and will raise TypeError (protobuf-no-posargs) + readme.py:3:0: E5901: Field 'invalid_field' does not appear in the declared fields of protobuf-generated class 'Person' and will raise AttributeError on access (protobuf-undefined-attribute) + readme.py:4:0: E5903: Field "Person.name" is of type 'str' and value 123 will raise TypeError at runtime (protobuf-type-error) +## Supported Python Versions +`pylint-protobuf` supports Python 3.5 at a minimum. +## Known Issues +`pylint-protobuf` does not currently support the following concepts: +* Some features of extensions: non-nested extensions, HasExtension(), + ClearExtension(), type checking +## Alternatives +### mypy-protobuf +A `protoc` compiler plugin for generating `.pyi` stubs from `.proto` files. +Fully-featured and well supported, a useful extension to a `mypy` workflow. +May be better suited to your usecase if you control the entire pipeline. May +_not_ be suited if you are a downstream consumer of generated `_pb2.py` modules +with no access to the original `.proto` definitions, in which case +`pylint-protobuf` may be better suited for your use. + +%package -n python3-pylint-protobuf +Summary: A plugin for making Pylint aware of the fields of protobuf-generated classes +Provides: python-pylint-protobuf +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pylint-protobuf +`pylint-protobuf` is a Pylint plugin for making Pylint aware of generated +fields from Protobuf types. +## Install +Install from PyPI via: + pip install pylint-protobuf +Add or update `pylintrc` to load `pylint-protobuf`: + [MASTER] + load-plugins=pylint_protobuf +## Example + $ cat <<EOF >person.proto + message Person { + required string name = 1; + } + EOF + $ protoc person.proto --python_out=. + $ cat <<EOF >readme.py + from person_pb2 import Person + p = Person('all arguments must be kwargs') + p.invalid_field = 'value' + p.name = 123 + EOF + $ pip install pylint-protobuf + $ pylint --load-plugins=pylint_protobuf readme.py + ************* Module readme + readme.py:2:4: E5904: Positional arguments are not allowed in message constructors and will raise TypeError (protobuf-no-posargs) + readme.py:3:0: E5901: Field 'invalid_field' does not appear in the declared fields of protobuf-generated class 'Person' and will raise AttributeError on access (protobuf-undefined-attribute) + readme.py:4:0: E5903: Field "Person.name" is of type 'str' and value 123 will raise TypeError at runtime (protobuf-type-error) +## Supported Python Versions +`pylint-protobuf` supports Python 3.5 at a minimum. +## Known Issues +`pylint-protobuf` does not currently support the following concepts: +* Some features of extensions: non-nested extensions, HasExtension(), + ClearExtension(), type checking +## Alternatives +### mypy-protobuf +A `protoc` compiler plugin for generating `.pyi` stubs from `.proto` files. +Fully-featured and well supported, a useful extension to a `mypy` workflow. +May be better suited to your usecase if you control the entire pipeline. May +_not_ be suited if you are a downstream consumer of generated `_pb2.py` modules +with no access to the original `.proto` definitions, in which case +`pylint-protobuf` may be better suited for your use. + +%package help +Summary: Development documents and examples for pylint-protobuf +Provides: python3-pylint-protobuf-doc +%description help +`pylint-protobuf` is a Pylint plugin for making Pylint aware of generated +fields from Protobuf types. +## Install +Install from PyPI via: + pip install pylint-protobuf +Add or update `pylintrc` to load `pylint-protobuf`: + [MASTER] + load-plugins=pylint_protobuf +## Example + $ cat <<EOF >person.proto + message Person { + required string name = 1; + } + EOF + $ protoc person.proto --python_out=. + $ cat <<EOF >readme.py + from person_pb2 import Person + p = Person('all arguments must be kwargs') + p.invalid_field = 'value' + p.name = 123 + EOF + $ pip install pylint-protobuf + $ pylint --load-plugins=pylint_protobuf readme.py + ************* Module readme + readme.py:2:4: E5904: Positional arguments are not allowed in message constructors and will raise TypeError (protobuf-no-posargs) + readme.py:3:0: E5901: Field 'invalid_field' does not appear in the declared fields of protobuf-generated class 'Person' and will raise AttributeError on access (protobuf-undefined-attribute) + readme.py:4:0: E5903: Field "Person.name" is of type 'str' and value 123 will raise TypeError at runtime (protobuf-type-error) +## Supported Python Versions +`pylint-protobuf` supports Python 3.5 at a minimum. +## Known Issues +`pylint-protobuf` does not currently support the following concepts: +* Some features of extensions: non-nested extensions, HasExtension(), + ClearExtension(), type checking +## Alternatives +### mypy-protobuf +A `protoc` compiler plugin for generating `.pyi` stubs from `.proto` files. +Fully-featured and well supported, a useful extension to a `mypy` workflow. +May be better suited to your usecase if you control the entire pipeline. May +_not_ be suited if you are a downstream consumer of generated `_pb2.py` modules +with no access to the original `.proto` definitions, in which case +`pylint-protobuf` may be better suited for your use. + +%prep +%autosetup -n pylint-protobuf-0.20.2 + +%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-pylint-protobuf -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.20.2-1 +- Package Spec generated @@ -0,0 +1 @@ +54eaa02ac91f79e91ef8f74894778ae7 pylint-protobuf-0.20.2.tar.gz |