diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:40:26 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:40:26 +0000 |
| commit | 503bc19547c3cadbd91c096b4fb81ee0f9c7c02f (patch) | |
| tree | d16f173b7a2bbc81c868c61a36c13b82ed09ace2 | |
| parent | 68669682c596dbf9636a9678e0c3dc1fe5665fb7 (diff) | |
automatic import of python-parameter-expansion-patched
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-parameter-expansion-patched.spec | 357 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 359 insertions, 0 deletions
@@ -0,0 +1 @@ +/parameter-expansion-patched-0.3.1.tar.gz diff --git a/python-parameter-expansion-patched.spec b/python-parameter-expansion-patched.spec new file mode 100644 index 0000000..06528e7 --- /dev/null +++ b/python-parameter-expansion-patched.spec @@ -0,0 +1,357 @@ +%global _empty_manifest_terminate_build 0 +Name: python-parameter-expansion-patched +Version: 0.3.1 +Release: 1 +Summary: Shell parameter expansion in Python. Patched by co-maintainer for a PyPI release. +License: Apache-2.0 +URL: https://github.com/nexB/parameter-expansion-patched +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7e/15/0c6fa115b269418a0d53d4564809afb74684d8afa417323b406be26de08b/parameter-expansion-patched-0.3.1.tar.gz +BuildArch: noarch + + +%description +# POSIX Parameter Expansion + + + + + + + +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/test.yml) +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/codeql-analysis.yml) +[](https://github.com/pre-commit/pre-commit) + + +This is an experimental Python library to enable +[POSIX parameter expansion][1] in a string. +It supports also a subset of [Bash parameter expansion][2]. + + +Note that this is a fork from upstream to support proper release on PyPI. + +This repo https://github.com/nexB/parameter_expansion_patched is released at +https://pypi.org/project/parameter-expansion-patched/ on PyPI. + +Upstream is less active lately at https://github.com/kojiromike/parameter-expansion/ + + +## Why not spawning a shell directly for this? +One reason is that it may be security risk. Another reason is to +support lightweight analysis or evaluation of shell parameters with +few system dependencies and outside of a running shell. + +For instance this use in [scancode-toolkit][3] as part of a lightweight +shell script parser to extract and expand parameters found in some +build scripts. + +## Which expansions are supported? +All the standard shell expansions are supported, including some level +of nested expansion, as long as this is not too complex or ambiguous. +In addition, we support Bash substrings and string replacement. +There is an extensive test suite listing [all supported substitions][4] + + +## How does this work? +The `expand()` function accepts a string and a dictionary of variables +(otherwise it uses the current environmnent variables). The string is +parsed with a custom parser and interpreted to perform the various +expansion procedures using these variables. + +### Obvious Test Cases + +```python + >>> from parameter_expansion import expand + >>> foo = 'abc/123-def.ghi' + >>> # Bland Expansion + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' + >>> + >>> # Default Value Expansion + >>> expand('-${foo:-bar}-') + '-abc/123-def.ghi-' + >>> expand('-${bar:-bar}-') + '-bar-' +``` + +### Default Value Expansion + +```python + >>> foo = 'abc/123-def.ghi' + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' +``` + + + + +## Any other library doing similar thing? + +- https://github.com/sayanarijit/expandvars has similar features yet does not cover all the expansions that this library supports (such as %, # and nested variables). + +- https://github.com/sloria/environs + + + + + +[1]: https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_02 +[2]: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html +[3]: https://github.com/nexB/scancode-toolkit/blob/develop/src/packagedcode/bashparse.py +[4]: https://github.com/kojiromike/parameter-expansion/blob/main/parameter_expansion/tests/test_pe.py + + + + +%package -n python3-parameter-expansion-patched +Summary: Shell parameter expansion in Python. Patched by co-maintainer for a PyPI release. +Provides: python-parameter-expansion-patched +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-parameter-expansion-patched +# POSIX Parameter Expansion + + + + + + + +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/test.yml) +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/codeql-analysis.yml) +[](https://github.com/pre-commit/pre-commit) + + +This is an experimental Python library to enable +[POSIX parameter expansion][1] in a string. +It supports also a subset of [Bash parameter expansion][2]. + + +Note that this is a fork from upstream to support proper release on PyPI. + +This repo https://github.com/nexB/parameter_expansion_patched is released at +https://pypi.org/project/parameter-expansion-patched/ on PyPI. + +Upstream is less active lately at https://github.com/kojiromike/parameter-expansion/ + + +## Why not spawning a shell directly for this? +One reason is that it may be security risk. Another reason is to +support lightweight analysis or evaluation of shell parameters with +few system dependencies and outside of a running shell. + +For instance this use in [scancode-toolkit][3] as part of a lightweight +shell script parser to extract and expand parameters found in some +build scripts. + +## Which expansions are supported? +All the standard shell expansions are supported, including some level +of nested expansion, as long as this is not too complex or ambiguous. +In addition, we support Bash substrings and string replacement. +There is an extensive test suite listing [all supported substitions][4] + + +## How does this work? +The `expand()` function accepts a string and a dictionary of variables +(otherwise it uses the current environmnent variables). The string is +parsed with a custom parser and interpreted to perform the various +expansion procedures using these variables. + +### Obvious Test Cases + +```python + >>> from parameter_expansion import expand + >>> foo = 'abc/123-def.ghi' + >>> # Bland Expansion + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' + >>> + >>> # Default Value Expansion + >>> expand('-${foo:-bar}-') + '-abc/123-def.ghi-' + >>> expand('-${bar:-bar}-') + '-bar-' +``` + +### Default Value Expansion + +```python + >>> foo = 'abc/123-def.ghi' + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' +``` + + + + +## Any other library doing similar thing? + +- https://github.com/sayanarijit/expandvars has similar features yet does not cover all the expansions that this library supports (such as %, # and nested variables). + +- https://github.com/sloria/environs + + + + + +[1]: https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_02 +[2]: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html +[3]: https://github.com/nexB/scancode-toolkit/blob/develop/src/packagedcode/bashparse.py +[4]: https://github.com/kojiromike/parameter-expansion/blob/main/parameter_expansion/tests/test_pe.py + + + + +%package help +Summary: Development documents and examples for parameter-expansion-patched +Provides: python3-parameter-expansion-patched-doc +%description help +# POSIX Parameter Expansion + + + + + + + +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/test.yml) +[](https://github.com/kojiromike/parameter-expansion/actions/workflows/codeql-analysis.yml) +[](https://github.com/pre-commit/pre-commit) + + +This is an experimental Python library to enable +[POSIX parameter expansion][1] in a string. +It supports also a subset of [Bash parameter expansion][2]. + + +Note that this is a fork from upstream to support proper release on PyPI. + +This repo https://github.com/nexB/parameter_expansion_patched is released at +https://pypi.org/project/parameter-expansion-patched/ on PyPI. + +Upstream is less active lately at https://github.com/kojiromike/parameter-expansion/ + + +## Why not spawning a shell directly for this? +One reason is that it may be security risk. Another reason is to +support lightweight analysis or evaluation of shell parameters with +few system dependencies and outside of a running shell. + +For instance this use in [scancode-toolkit][3] as part of a lightweight +shell script parser to extract and expand parameters found in some +build scripts. + +## Which expansions are supported? +All the standard shell expansions are supported, including some level +of nested expansion, as long as this is not too complex or ambiguous. +In addition, we support Bash substrings and string replacement. +There is an extensive test suite listing [all supported substitions][4] + + +## How does this work? +The `expand()` function accepts a string and a dictionary of variables +(otherwise it uses the current environmnent variables). The string is +parsed with a custom parser and interpreted to perform the various +expansion procedures using these variables. + +### Obvious Test Cases + +```python + >>> from parameter_expansion import expand + >>> foo = 'abc/123-def.ghi' + >>> # Bland Expansion + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' + >>> + >>> # Default Value Expansion + >>> expand('-${foo:-bar}-') + '-abc/123-def.ghi-' + >>> expand('-${bar:-bar}-') + '-bar-' +``` + +### Default Value Expansion + +```python + >>> foo = 'abc/123-def.ghi' + >>> expand('abc $foo abc') + 'abc abc/123-def.ghi abc' + >>> expand('abc${foo}abc') + 'abcabc/123-def.ghiabc' +``` + + + + +## Any other library doing similar thing? + +- https://github.com/sayanarijit/expandvars has similar features yet does not cover all the expansions that this library supports (such as %, # and nested variables). + +- https://github.com/sloria/environs + + + + + +[1]: https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_02 +[2]: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html +[3]: https://github.com/nexB/scancode-toolkit/blob/develop/src/packagedcode/bashparse.py +[4]: https://github.com/kojiromike/parameter-expansion/blob/main/parameter_expansion/tests/test_pe.py + + + + +%prep +%autosetup -n parameter-expansion-patched-0.3.1 + +%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-parameter-expansion-patched -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.1-1 +- Package Spec generated @@ -0,0 +1 @@ +42fd64babe52ba313bb26948fba48cd2 parameter-expansion-patched-0.3.1.tar.gz |
