diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 09:21:57 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 09:21:57 +0000 |
commit | 2d572c29872c989bf8e9d98148b46ea0af14a718 (patch) | |
tree | f958586bdff39f309f363a8925e837f480d4fe24 /python-flake8-expression-complexity.spec | |
parent | 3d3ffc5ab7163399e7001e1328373cdd8a4d5ba1 (diff) |
automatic import of python-flake8-expression-complexity
Diffstat (limited to 'python-flake8-expression-complexity.spec')
-rw-r--r-- | python-flake8-expression-complexity.spec | 290 |
1 files changed, 290 insertions, 0 deletions
diff --git a/python-flake8-expression-complexity.spec b/python-flake8-expression-complexity.spec new file mode 100644 index 0000000..39225f9 --- /dev/null +++ b/python-flake8-expression-complexity.spec @@ -0,0 +1,290 @@ +%global _empty_manifest_terminate_build 0 +Name: python-flake8-expression-complexity +Version: 0.0.11 +Release: 1 +Summary: A flake8 extension that checks expressions complexity +License: MIT +URL: https://github.com/best-doctor/flake8-expression-complexity +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/19/71/5bfb69acbfd319add958c70b60e68aee8914d4a5e243b87f4fcda249cf7b/flake8_expression_complexity-0.0.11.tar.gz +BuildArch: noarch + +Requires: python3-astpretty +Requires: python3-flake8 + +%description +# flake8-expression-complexity + +[](https://github.com/best-doctor/flake8-expression-complexity/actions/workflows/build.yml) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/maintainability) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/test_coverage) +[](https://badge.fury.io/py/flake8-expression-complexity) + + +An extension for flake8 that validates expression complexity. + +Splits code into expression and scores each according to how much one is complicated. +Fires an error on each expression more complex than theshold. + +Default complexity is 7, can be configured via `--max-expression-complexity` option. + +Since Django ORM queries can produce long and readable expressions, +checker can skip them. To enable this behaviour, +use `--ignore-django-orm-queries-complexity` option. + +## Installation + +```terminal +pip install flake8-expression-complexity +``` + +## Example + +```python +if ( + (user and user.is_authorized) + and user.subscriptions.filter(start_date__lt=today, end_date__gt=today).exists() + and ( + user.total_credits_added + - Check.objects.filter(user=user).aggregate(Sum('price'))['check__sum'] + ) + and UserAction.objects.filter(user=user).last().datetime > today - datetime.timedelta(days=10) +): + ... +``` + +Usage: + +```terminal +$ flake8 --max-expression-complexity=3 test.py +text.py:2:5: ECE001 Expression is too complex (7.0 > 3) +``` + +## Error codes + +| Error code | Description | +|:----------:|:---------------------------------:| +| ECE001 | Expression is too complex (X > Y) | + +## Contributing + +We would love you to contribute to our project. It's simple: + +1. Create an issue with bug you found or proposal you have. + Wait for approve from maintainer. +1. Create a pull request. Make sure all checks are green. +1. Fix review comments if any. +1. Be awesome. + +Here are useful tips: + +- You can run all checks and tests with `make check`. + Please do it before TravisCI does. +- We use [BestDoctor python styleguide](https://github.com/best-doctor/guides/blob/master/guides/en/python_styleguide.md). +- We respect [Django CoC](https://www.djangoproject.com/conduct/). + Make soft, not bullshit. + + + + +%package -n python3-flake8-expression-complexity +Summary: A flake8 extension that checks expressions complexity +Provides: python-flake8-expression-complexity +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-flake8-expression-complexity +# flake8-expression-complexity + +[](https://github.com/best-doctor/flake8-expression-complexity/actions/workflows/build.yml) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/maintainability) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/test_coverage) +[](https://badge.fury.io/py/flake8-expression-complexity) + + +An extension for flake8 that validates expression complexity. + +Splits code into expression and scores each according to how much one is complicated. +Fires an error on each expression more complex than theshold. + +Default complexity is 7, can be configured via `--max-expression-complexity` option. + +Since Django ORM queries can produce long and readable expressions, +checker can skip them. To enable this behaviour, +use `--ignore-django-orm-queries-complexity` option. + +## Installation + +```terminal +pip install flake8-expression-complexity +``` + +## Example + +```python +if ( + (user and user.is_authorized) + and user.subscriptions.filter(start_date__lt=today, end_date__gt=today).exists() + and ( + user.total_credits_added + - Check.objects.filter(user=user).aggregate(Sum('price'))['check__sum'] + ) + and UserAction.objects.filter(user=user).last().datetime > today - datetime.timedelta(days=10) +): + ... +``` + +Usage: + +```terminal +$ flake8 --max-expression-complexity=3 test.py +text.py:2:5: ECE001 Expression is too complex (7.0 > 3) +``` + +## Error codes + +| Error code | Description | +|:----------:|:---------------------------------:| +| ECE001 | Expression is too complex (X > Y) | + +## Contributing + +We would love you to contribute to our project. It's simple: + +1. Create an issue with bug you found or proposal you have. + Wait for approve from maintainer. +1. Create a pull request. Make sure all checks are green. +1. Fix review comments if any. +1. Be awesome. + +Here are useful tips: + +- You can run all checks and tests with `make check`. + Please do it before TravisCI does. +- We use [BestDoctor python styleguide](https://github.com/best-doctor/guides/blob/master/guides/en/python_styleguide.md). +- We respect [Django CoC](https://www.djangoproject.com/conduct/). + Make soft, not bullshit. + + + + +%package help +Summary: Development documents and examples for flake8-expression-complexity +Provides: python3-flake8-expression-complexity-doc +%description help +# flake8-expression-complexity + +[](https://github.com/best-doctor/flake8-expression-complexity/actions/workflows/build.yml) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/maintainability) +[](https://codeclimate.com/github/best-doctor/flake8-expression-complexity/test_coverage) +[](https://badge.fury.io/py/flake8-expression-complexity) + + +An extension for flake8 that validates expression complexity. + +Splits code into expression and scores each according to how much one is complicated. +Fires an error on each expression more complex than theshold. + +Default complexity is 7, can be configured via `--max-expression-complexity` option. + +Since Django ORM queries can produce long and readable expressions, +checker can skip them. To enable this behaviour, +use `--ignore-django-orm-queries-complexity` option. + +## Installation + +```terminal +pip install flake8-expression-complexity +``` + +## Example + +```python +if ( + (user and user.is_authorized) + and user.subscriptions.filter(start_date__lt=today, end_date__gt=today).exists() + and ( + user.total_credits_added + - Check.objects.filter(user=user).aggregate(Sum('price'))['check__sum'] + ) + and UserAction.objects.filter(user=user).last().datetime > today - datetime.timedelta(days=10) +): + ... +``` + +Usage: + +```terminal +$ flake8 --max-expression-complexity=3 test.py +text.py:2:5: ECE001 Expression is too complex (7.0 > 3) +``` + +## Error codes + +| Error code | Description | +|:----------:|:---------------------------------:| +| ECE001 | Expression is too complex (X > Y) | + +## Contributing + +We would love you to contribute to our project. It's simple: + +1. Create an issue with bug you found or proposal you have. + Wait for approve from maintainer. +1. Create a pull request. Make sure all checks are green. +1. Fix review comments if any. +1. Be awesome. + +Here are useful tips: + +- You can run all checks and tests with `make check`. + Please do it before TravisCI does. +- We use [BestDoctor python styleguide](https://github.com/best-doctor/guides/blob/master/guides/en/python_styleguide.md). +- We respect [Django CoC](https://www.djangoproject.com/conduct/). + Make soft, not bullshit. + + + + +%prep +%autosetup -n flake8-expression-complexity-0.0.11 + +%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-expression-complexity -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.11-1 +- Package Spec generated |