diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-noraise.spec | 279 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 281 insertions, 0 deletions
@@ -0,0 +1 @@ +/noraise-0.0.16.tar.gz diff --git a/python-noraise.spec b/python-noraise.spec new file mode 100644 index 0000000..5c528c6 --- /dev/null +++ b/python-noraise.spec @@ -0,0 +1,279 @@ +%global _empty_manifest_terminate_build 0 +Name: python-noraise +Version: 0.0.16 +Release: 1 +Summary: noraise +License: MIT License +URL: https://github.com/kkristof200/py_noraise +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6d/39/855fc64b1f5b8851c5eae9aa95c077263dedd3aea9127f64e908e8080011/noraise-0.0.16.tar.gz +BuildArch: noarch + + +%description +# noraise + + + + + + + + + + + + + + + +## Description + +Lightweight utility package, that provides a function decorator to easily catch and print exceptions + +## Supported Args + +| name | type | default value | description | +|----------------------|---------------------------|---------------|---------------------------------------------------------------------------------| +| print_exc | bool | True | If True, prints stacktrace | +| return_exception | bool | False | If True, returns caught exception | +| default_return_value | Optional[any] | None | What to return upon caught exception if<br>'return_exception' is False | +| ignored_error_types | Optional[List[Exception]] | None | In which cases should the stacktrace print<br>be skipped if 'print_exc' is True | + +## Install + +~~~~bash +pip install noraise +# or +pip3 install noraise +~~~~ + +## Usage + +~~~~python +from noraise import noraise + +@noraise(print_exc=True, return_exception=True, ignored_error_types=[ZeroDivisionError]) +def f2(): + return 1/0 + +res = f2() +print(type(res), res) + +# This will not catch the crash, and print +# +# +# < ------------------------------------- Caught with @noraise ------------------------------------ > +# +# Traceback (most recent call last): +# File "/Users/kristofk/github/py_noraise/noraise/noraise.py", line 32, in wrapper +# return function(*args, **kwargs) +# File "demo.py", line 5, in f2 +# return 1/0 +# ZeroDivisionError: division by zero +# +# < ----------------------------------------------------------------------------------------------- > +# +# +# <class 'ZeroDivisionError'> division by zero +~~~~ + +## Dependencies + + + +%package -n python3-noraise +Summary: noraise +Provides: python-noraise +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-noraise +# noraise + + + + + + + + + + + + + + + +## Description + +Lightweight utility package, that provides a function decorator to easily catch and print exceptions + +## Supported Args + +| name | type | default value | description | +|----------------------|---------------------------|---------------|---------------------------------------------------------------------------------| +| print_exc | bool | True | If True, prints stacktrace | +| return_exception | bool | False | If True, returns caught exception | +| default_return_value | Optional[any] | None | What to return upon caught exception if<br>'return_exception' is False | +| ignored_error_types | Optional[List[Exception]] | None | In which cases should the stacktrace print<br>be skipped if 'print_exc' is True | + +## Install + +~~~~bash +pip install noraise +# or +pip3 install noraise +~~~~ + +## Usage + +~~~~python +from noraise import noraise + +@noraise(print_exc=True, return_exception=True, ignored_error_types=[ZeroDivisionError]) +def f2(): + return 1/0 + +res = f2() +print(type(res), res) + +# This will not catch the crash, and print +# +# +# < ------------------------------------- Caught with @noraise ------------------------------------ > +# +# Traceback (most recent call last): +# File "/Users/kristofk/github/py_noraise/noraise/noraise.py", line 32, in wrapper +# return function(*args, **kwargs) +# File "demo.py", line 5, in f2 +# return 1/0 +# ZeroDivisionError: division by zero +# +# < ----------------------------------------------------------------------------------------------- > +# +# +# <class 'ZeroDivisionError'> division by zero +~~~~ + +## Dependencies + + + +%package help +Summary: Development documents and examples for noraise +Provides: python3-noraise-doc +%description help +# noraise + + + + + + + + + + + + + + + +## Description + +Lightweight utility package, that provides a function decorator to easily catch and print exceptions + +## Supported Args + +| name | type | default value | description | +|----------------------|---------------------------|---------------|---------------------------------------------------------------------------------| +| print_exc | bool | True | If True, prints stacktrace | +| return_exception | bool | False | If True, returns caught exception | +| default_return_value | Optional[any] | None | What to return upon caught exception if<br>'return_exception' is False | +| ignored_error_types | Optional[List[Exception]] | None | In which cases should the stacktrace print<br>be skipped if 'print_exc' is True | + +## Install + +~~~~bash +pip install noraise +# or +pip3 install noraise +~~~~ + +## Usage + +~~~~python +from noraise import noraise + +@noraise(print_exc=True, return_exception=True, ignored_error_types=[ZeroDivisionError]) +def f2(): + return 1/0 + +res = f2() +print(type(res), res) + +# This will not catch the crash, and print +# +# +# < ------------------------------------- Caught with @noraise ------------------------------------ > +# +# Traceback (most recent call last): +# File "/Users/kristofk/github/py_noraise/noraise/noraise.py", line 32, in wrapper +# return function(*args, **kwargs) +# File "demo.py", line 5, in f2 +# return 1/0 +# ZeroDivisionError: division by zero +# +# < ----------------------------------------------------------------------------------------------- > +# +# +# <class 'ZeroDivisionError'> division by zero +~~~~ + +## Dependencies + + + +%prep +%autosetup -n noraise-0.0.16 + +%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-noraise -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.16-1 +- Package Spec generated @@ -0,0 +1 @@ +ada48609fa38140aeffbcb4c5cc5cfd8 noraise-0.0.16.tar.gz |
