diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-flake8-builtins.spec | 152 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 154 insertions, 0 deletions
@@ -0,0 +1 @@ +/flake8-builtins-2.1.0.tar.gz diff --git a/python-flake8-builtins.spec b/python-flake8-builtins.spec new file mode 100644 index 0000000..5ac4199 --- /dev/null +++ b/python-flake8-builtins.spec @@ -0,0 +1,152 @@ +%global _empty_manifest_terminate_build 0 +Name: python-flake8-builtins +Version: 2.1.0 +Release: 1 +Summary: Check for python builtins being used as variables or parameters. +License: GPL version 2 +URL: https://github.com/gforcada/flake8-builtins +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fe/01/5d6623a0ace252b02887a08a5a04aef9180f7adbb324576944bb1e632269/flake8-builtins-2.1.0.tar.gz +BuildArch: noarch + +Requires: python3-flake8 +Requires: python3-pytest + +%description +Check for python builtins being used as variables or parameters. +Imagine some code like this: + def max_values(list, list2): + max = list[0] + for x in list: + if x > 0: + max = x + all_values = list() + all_values.append(max) + max = list2[0] + for x in list2: + if x > 0: + max = x + all_values.append(max) + return all_values + max_values([3, 4, 5, ], [5, 6, 7]) +The last statement is not returning ``[5, 7]`` as one would expect, +instead is raising this exception:: + Traceback (most recent call last): + File "test.py", line 17, in <module> + max_values([3,4,5], [4,5,6]) + File "bla.py", line 6, in max_values + all_values = list() + TypeError: 'list' object is not callable +**Why?** Because ``max_value`` function's first argument is ``list`` a Python builtin. +Python allows to override them, but although could be useful in some really specific use cases, +the general approach is to **not** do that as code then can suddenly break without a clear trace. + +%package -n python3-flake8-builtins +Summary: Check for python builtins being used as variables or parameters. +Provides: python-flake8-builtins +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-flake8-builtins +Check for python builtins being used as variables or parameters. +Imagine some code like this: + def max_values(list, list2): + max = list[0] + for x in list: + if x > 0: + max = x + all_values = list() + all_values.append(max) + max = list2[0] + for x in list2: + if x > 0: + max = x + all_values.append(max) + return all_values + max_values([3, 4, 5, ], [5, 6, 7]) +The last statement is not returning ``[5, 7]`` as one would expect, +instead is raising this exception:: + Traceback (most recent call last): + File "test.py", line 17, in <module> + max_values([3,4,5], [4,5,6]) + File "bla.py", line 6, in max_values + all_values = list() + TypeError: 'list' object is not callable +**Why?** Because ``max_value`` function's first argument is ``list`` a Python builtin. +Python allows to override them, but although could be useful in some really specific use cases, +the general approach is to **not** do that as code then can suddenly break without a clear trace. + +%package help +Summary: Development documents and examples for flake8-builtins +Provides: python3-flake8-builtins-doc +%description help +Check for python builtins being used as variables or parameters. +Imagine some code like this: + def max_values(list, list2): + max = list[0] + for x in list: + if x > 0: + max = x + all_values = list() + all_values.append(max) + max = list2[0] + for x in list2: + if x > 0: + max = x + all_values.append(max) + return all_values + max_values([3, 4, 5, ], [5, 6, 7]) +The last statement is not returning ``[5, 7]`` as one would expect, +instead is raising this exception:: + Traceback (most recent call last): + File "test.py", line 17, in <module> + max_values([3,4,5], [4,5,6]) + File "bla.py", line 6, in max_values + all_values = list() + TypeError: 'list' object is not callable +**Why?** Because ``max_value`` function's first argument is ``list`` a Python builtin. +Python allows to override them, but although could be useful in some really specific use cases, +the general approach is to **not** do that as code then can suddenly break without a clear trace. + +%prep +%autosetup -n flake8-builtins-2.1.0 + +%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-flake8-builtins -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +4663ee2a1f0d65aef3c57b74e07952d3 flake8-builtins-2.1.0.tar.gz |
