summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 09:33:22 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 09:33:22 +0000
commit1940c34fb8ab83252291ec7c752aa94fa9c5c3fb (patch)
treedf74b615b1c5d4a07dce7cbacd9bf243144e7cf8
parenteb0475add0225b4fe1593c787a55e25a1ff409d5 (diff)
automatic import of python-parse
-rw-r--r--.gitignore1
-rw-r--r--python-parse.spec222
-rw-r--r--sources1
3 files changed, 224 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7baec58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..e070c54
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+15e1e590c964254ac5fbea308a6ec6d4 parse-1.19.0.tar.gz