diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 04:30:57 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 04:30:57 +0000 |
| commit | ae89ff4ebb4def76f3444329292eca16c399c40b (patch) | |
| tree | 8eae5599ecd75dcc1f082d521b6f40089536dad5 | |
| parent | 1da41af1320881e2658c6b35fe871319ea2891a0 (diff) | |
automatic import of python-coveo-systoolsopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-coveo-systools.spec | 320 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 322 insertions, 0 deletions
@@ -0,0 +1 @@ +/coveo_systools-2.0.11.tar.gz diff --git a/python-coveo-systools.spec b/python-coveo-systools.spec new file mode 100644 index 0000000..bde9b15 --- /dev/null +++ b/python-coveo-systools.spec @@ -0,0 +1,320 @@ +%global _empty_manifest_terminate_build 0 +Name: python-coveo-systools +Version: 2.0.11 +Release: 1 +Summary: Filesystem, language and OS related tools. +License: Apache-2.0 +URL: https://github.com/coveooss/coveo-python-oss/tree/main/coveo-systools +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/03/75/65a6369ca34938385b364fd516023f90fdbcc035ad665e539af6366fc161/coveo_systools-2.0.11.tar.gz +BuildArch: noarch + +Requires: python3-coveo-functools +Requires: python3-typing_extensions + +%description +# coveo-systools + +Language and OS related utilities. + + +Content in a nutshell: + +- enhanced subprocess calls +- asyncio subprocess calls +- file and app finding made easy +- safe text write and replace-if-different +- git-repo-root locator +- bool platforms `if WINDOWS or LINUX or MAC or WSL:` + + +# searching the filesystem + +```python +import os +from coveo_systools.filesystem import find_paths, find_application, find_repo_root + +os.getcwd() +# '/code/coveo-python-oss/coveo-systools' + +find_application('git') +# WindowsPath('C:/Program Files/Git/cmd/git.EXE') # windows example for completeness + +find_repo_root() +# Path('/code/coveo-python-oss') + +list(find_paths('pyproject.toml', search_from=find_repo_root(), in_root=True, in_children=True)) +# [Path('/code/coveo-python-oss/pyproject.toml'), ...] +``` + +# enhanced subprocess calls + +An opinionated version of `subprocess.check_call` and `subprocess.check_output`. + +_New in 2.0.7_: asyncio support, through `async_check_call` and `async_check_output`. + +Adds the following features: +- command line is a variable args (instead of a list) +- automatic conversion of output to a stripped string (instead of raw bytes) +- automatic conversion of Path, bytes and number variables in command line +- automatic filtering of ansi codes from the output +- enhanced DetailedCalledProcessError on error (a subclass of the typical CalledProcessError) + +```python +from pathlib import Path +from coveo_systools.subprocess import check_call + +check_call('mypy', '--config-file', Path('configs/mypy.ini'), verbose=True) +``` + + +# safe I/O, if changed + +Good programming practices requires files to be saved using a temporary filename and then renamed. +This helper takes it a step further by skipping the write operation if the content did not change: + +```python +import json +from pathlib import Path +from coveo_systools.filesystem import safe_text_write + +safe_text_write(Path('./path/to/file.txt'), json.dumps(...), only_if_changed=True) +``` + + +# conditional platforms syntactic sugar + +Readability is important, not repeating yourself is important. +Forget about `platform.platform()` and use bools directly: + +```python +from coveo_systools.platforms import WINDOWS, LINUX, IOS, WSL + +if WINDOWS or WSL: + print("Hello Windows!") +elif LINUX or IOS: + print("Hello Unix!") +``` + + +%package -n python3-coveo-systools +Summary: Filesystem, language and OS related tools. +Provides: python-coveo-systools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-coveo-systools +# coveo-systools + +Language and OS related utilities. + + +Content in a nutshell: + +- enhanced subprocess calls +- asyncio subprocess calls +- file and app finding made easy +- safe text write and replace-if-different +- git-repo-root locator +- bool platforms `if WINDOWS or LINUX or MAC or WSL:` + + +# searching the filesystem + +```python +import os +from coveo_systools.filesystem import find_paths, find_application, find_repo_root + +os.getcwd() +# '/code/coveo-python-oss/coveo-systools' + +find_application('git') +# WindowsPath('C:/Program Files/Git/cmd/git.EXE') # windows example for completeness + +find_repo_root() +# Path('/code/coveo-python-oss') + +list(find_paths('pyproject.toml', search_from=find_repo_root(), in_root=True, in_children=True)) +# [Path('/code/coveo-python-oss/pyproject.toml'), ...] +``` + +# enhanced subprocess calls + +An opinionated version of `subprocess.check_call` and `subprocess.check_output`. + +_New in 2.0.7_: asyncio support, through `async_check_call` and `async_check_output`. + +Adds the following features: +- command line is a variable args (instead of a list) +- automatic conversion of output to a stripped string (instead of raw bytes) +- automatic conversion of Path, bytes and number variables in command line +- automatic filtering of ansi codes from the output +- enhanced DetailedCalledProcessError on error (a subclass of the typical CalledProcessError) + +```python +from pathlib import Path +from coveo_systools.subprocess import check_call + +check_call('mypy', '--config-file', Path('configs/mypy.ini'), verbose=True) +``` + + +# safe I/O, if changed + +Good programming practices requires files to be saved using a temporary filename and then renamed. +This helper takes it a step further by skipping the write operation if the content did not change: + +```python +import json +from pathlib import Path +from coveo_systools.filesystem import safe_text_write + +safe_text_write(Path('./path/to/file.txt'), json.dumps(...), only_if_changed=True) +``` + + +# conditional platforms syntactic sugar + +Readability is important, not repeating yourself is important. +Forget about `platform.platform()` and use bools directly: + +```python +from coveo_systools.platforms import WINDOWS, LINUX, IOS, WSL + +if WINDOWS or WSL: + print("Hello Windows!") +elif LINUX or IOS: + print("Hello Unix!") +``` + + +%package help +Summary: Development documents and examples for coveo-systools +Provides: python3-coveo-systools-doc +%description help +# coveo-systools + +Language and OS related utilities. + + +Content in a nutshell: + +- enhanced subprocess calls +- asyncio subprocess calls +- file and app finding made easy +- safe text write and replace-if-different +- git-repo-root locator +- bool platforms `if WINDOWS or LINUX or MAC or WSL:` + + +# searching the filesystem + +```python +import os +from coveo_systools.filesystem import find_paths, find_application, find_repo_root + +os.getcwd() +# '/code/coveo-python-oss/coveo-systools' + +find_application('git') +# WindowsPath('C:/Program Files/Git/cmd/git.EXE') # windows example for completeness + +find_repo_root() +# Path('/code/coveo-python-oss') + +list(find_paths('pyproject.toml', search_from=find_repo_root(), in_root=True, in_children=True)) +# [Path('/code/coveo-python-oss/pyproject.toml'), ...] +``` + +# enhanced subprocess calls + +An opinionated version of `subprocess.check_call` and `subprocess.check_output`. + +_New in 2.0.7_: asyncio support, through `async_check_call` and `async_check_output`. + +Adds the following features: +- command line is a variable args (instead of a list) +- automatic conversion of output to a stripped string (instead of raw bytes) +- automatic conversion of Path, bytes and number variables in command line +- automatic filtering of ansi codes from the output +- enhanced DetailedCalledProcessError on error (a subclass of the typical CalledProcessError) + +```python +from pathlib import Path +from coveo_systools.subprocess import check_call + +check_call('mypy', '--config-file', Path('configs/mypy.ini'), verbose=True) +``` + + +# safe I/O, if changed + +Good programming practices requires files to be saved using a temporary filename and then renamed. +This helper takes it a step further by skipping the write operation if the content did not change: + +```python +import json +from pathlib import Path +from coveo_systools.filesystem import safe_text_write + +safe_text_write(Path('./path/to/file.txt'), json.dumps(...), only_if_changed=True) +``` + + +# conditional platforms syntactic sugar + +Readability is important, not repeating yourself is important. +Forget about `platform.platform()` and use bools directly: + +```python +from coveo_systools.platforms import WINDOWS, LINUX, IOS, WSL + +if WINDOWS or WSL: + print("Hello Windows!") +elif LINUX or IOS: + print("Hello Unix!") +``` + + +%prep +%autosetup -n coveo-systools-2.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-coveo-systools -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.11-1 +- Package Spec generated @@ -0,0 +1 @@ +bb3d7ceab30001cf175ad73534f6e763 coveo_systools-2.0.11.tar.gz |
