summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 23:35:55 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 23:35:55 +0000
commite390d3d58d4e219244b43722493d8a35ed8ba55b (patch)
treed9f1b6d0f91b766d920b2caf1c6e69c5342ac441
parentf4caa0daf09e9b22a7ed76dcb7d0df3bd1145605 (diff)
automatic import of python-pylint-protobuf
-rw-r--r--.gitignore1
-rw-r--r--python-pylint-protobuf.spec195
-rw-r--r--sources1
3 files changed, 197 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b0ddde5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..45bd709
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+54eaa02ac91f79e91ef8f74894778ae7 pylint-protobuf-0.20.2.tar.gz