diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 09:33:22 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 09:33:22 +0000 |
commit | 1940c34fb8ab83252291ec7c752aa94fa9c5c3fb (patch) | |
tree | df74b615b1c5d4a07dce7cbacd9bf243144e7cf8 | |
parent | eb0475add0225b4fe1593c787a55e25a1ff409d5 (diff) |
automatic import of python-parse
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-parse.spec | 222 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 224 insertions, 0 deletions
@@ -0,0 +1 @@ +/parse-1.19.0.tar.gz diff --git a/python-parse.spec b/python-parse.spec new file mode 100644 index 0000000..3cd6d4e --- /dev/null +++ b/python-parse.spec @@ -0,0 +1,222 @@ +%global _empty_manifest_terminate_build 0 +Name: python-parse +Version: 1.19.0 +Release: 1 +Summary: parse() is the opposite of format() +License: BSD License +URL: https://github.com/r1chardj0n3s/parse +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/89/a1/82ce536be577ba09d4dcee45db58423a180873ad38a2d014d26ab7b7cb8a/parse-1.19.0.tar.gz +BuildArch: noarch + + +%description +A basic version of the `Format String Syntax`_ is supported with anonymous +(fixed-position), named and formatted fields:: + {[field name]:[format spec]} +Field names must be a valid Python identifiers, including dotted names; +element indexes imply dictionaries (see below for example). +Numbered fields are also not supported: the result of parsing will include +the parsed fields in the order they are parsed. +The conversion of fields to types other than strings is done based on the +type in the format specification, which mirrors the ``format()`` behaviour. +There are no "!" field conversions like ``format()`` has. +Some simple parse() format string examples: + >>> parse("Bring me a {}", "Bring me a shrubbery") + <Result ('shrubbery',) {}> + >>> r = parse("The {} who {} {}", "The knights who say Ni!") + >>> print(r) + <Result ('knights', 'say', 'Ni!') {}> + >>> print(r.fixed) + ('knights', 'say', 'Ni!') + >>> print(r[0]) + knights + >>> print(r[1:]) + ('say', 'Ni!') + >>> r = parse("Bring out the holy {item}", "Bring out the holy hand grenade") + >>> print(r) + <Result () {'item': 'hand grenade'}> + >>> print(r.named) + {'item': 'hand grenade'} + >>> print(r['item']) + hand grenade + >>> 'item' in r + True +Note that `in` only works if you have named fields. +Dotted names and indexes are possible with some limits. Only word identifiers +are supported (ie. no numeric indexes) and the application must make additional +sense of the result: + >>> r = parse("Mmm, {food.type}, I love it!", "Mmm, spam, I love it!") + >>> print(r) + <Result () {'food.type': 'spam'}> + >>> print(r.named) + {'food.type': 'spam'} + >>> print(r['food.type']) + spam + >>> r = parse("My quest is {quest[name]}", "My quest is to seek the holy grail!") + >>> print(r) + <Result () {'quest': {'name': 'to seek the holy grail!'}}> + >>> print(r['quest']) + {'name': 'to seek the holy grail!'} + >>> print(r['quest']['name']) + to seek the holy grail! +If the text you're matching has braces in it you can match those by including +a double-brace ``{{`` or ``}}`` in your format string, just like format() does. + +%package -n python3-parse +Summary: parse() is the opposite of format() +Provides: python-parse +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-parse +A basic version of the `Format String Syntax`_ is supported with anonymous +(fixed-position), named and formatted fields:: + {[field name]:[format spec]} +Field names must be a valid Python identifiers, including dotted names; +element indexes imply dictionaries (see below for example). +Numbered fields are also not supported: the result of parsing will include +the parsed fields in the order they are parsed. +The conversion of fields to types other than strings is done based on the +type in the format specification, which mirrors the ``format()`` behaviour. +There are no "!" field conversions like ``format()`` has. +Some simple parse() format string examples: + >>> parse("Bring me a {}", "Bring me a shrubbery") + <Result ('shrubbery',) {}> + >>> r = parse("The {} who {} {}", "The knights who say Ni!") + >>> print(r) + <Result ('knights', 'say', 'Ni!') {}> + >>> print(r.fixed) + ('knights', 'say', 'Ni!') + >>> print(r[0]) + knights + >>> print(r[1:]) + ('say', 'Ni!') + >>> r = parse("Bring out the holy {item}", "Bring out the holy hand grenade") + >>> print(r) + <Result () {'item': 'hand grenade'}> + >>> print(r.named) + {'item': 'hand grenade'} + >>> print(r['item']) + hand grenade + >>> 'item' in r + True +Note that `in` only works if you have named fields. +Dotted names and indexes are possible with some limits. Only word identifiers +are supported (ie. no numeric indexes) and the application must make additional +sense of the result: + >>> r = parse("Mmm, {food.type}, I love it!", "Mmm, spam, I love it!") + >>> print(r) + <Result () {'food.type': 'spam'}> + >>> print(r.named) + {'food.type': 'spam'} + >>> print(r['food.type']) + spam + >>> r = parse("My quest is {quest[name]}", "My quest is to seek the holy grail!") + >>> print(r) + <Result () {'quest': {'name': 'to seek the holy grail!'}}> + >>> print(r['quest']) + {'name': 'to seek the holy grail!'} + >>> print(r['quest']['name']) + to seek the holy grail! +If the text you're matching has braces in it you can match those by including +a double-brace ``{{`` or ``}}`` in your format string, just like format() does. + +%package help +Summary: Development documents and examples for parse +Provides: python3-parse-doc +%description help +A basic version of the `Format String Syntax`_ is supported with anonymous +(fixed-position), named and formatted fields:: + {[field name]:[format spec]} +Field names must be a valid Python identifiers, including dotted names; +element indexes imply dictionaries (see below for example). +Numbered fields are also not supported: the result of parsing will include +the parsed fields in the order they are parsed. +The conversion of fields to types other than strings is done based on the +type in the format specification, which mirrors the ``format()`` behaviour. +There are no "!" field conversions like ``format()`` has. +Some simple parse() format string examples: + >>> parse("Bring me a {}", "Bring me a shrubbery") + <Result ('shrubbery',) {}> + >>> r = parse("The {} who {} {}", "The knights who say Ni!") + >>> print(r) + <Result ('knights', 'say', 'Ni!') {}> + >>> print(r.fixed) + ('knights', 'say', 'Ni!') + >>> print(r[0]) + knights + >>> print(r[1:]) + ('say', 'Ni!') + >>> r = parse("Bring out the holy {item}", "Bring out the holy hand grenade") + >>> print(r) + <Result () {'item': 'hand grenade'}> + >>> print(r.named) + {'item': 'hand grenade'} + >>> print(r['item']) + hand grenade + >>> 'item' in r + True +Note that `in` only works if you have named fields. +Dotted names and indexes are possible with some limits. Only word identifiers +are supported (ie. no numeric indexes) and the application must make additional +sense of the result: + >>> r = parse("Mmm, {food.type}, I love it!", "Mmm, spam, I love it!") + >>> print(r) + <Result () {'food.type': 'spam'}> + >>> print(r.named) + {'food.type': 'spam'} + >>> print(r['food.type']) + spam + >>> r = parse("My quest is {quest[name]}", "My quest is to seek the holy grail!") + >>> print(r) + <Result () {'quest': {'name': 'to seek the holy grail!'}}> + >>> print(r['quest']) + {'name': 'to seek the holy grail!'} + >>> print(r['quest']['name']) + to seek the holy grail! +If the text you're matching has braces in it you can match those by including +a double-brace ``{{`` or ``}}`` in your format string, just like format() does. + +%prep +%autosetup -n parse-1.19.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-parse -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.19.0-1 +- Package Spec generated @@ -0,0 +1 @@ +15e1e590c964254ac5fbea308a6ec6d4 parse-1.19.0.tar.gz |