%global _empty_manifest_terminate_build 0 Name: python-jpath Version: 1.6 Release: 1 Summary: Access nested dicts and lists using JSON-like path notation. License: MIT License URL: https://pypi.org/project/jpath/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1c/d3/d931faffbf46803ca2d5bc7e29eae6c1482522e51b3b9dfb706c58d69398/jpath-1.6.tar.gz BuildArch: noarch %description Access nested dicts and lists using JSON-like path notation. Note that this code is written for python 3. The notation is as follows: You can just write the names of components in your path like you would in javascript: foo.bar.baz To access arrays or names with spaces in them, use the '[]' notation. You can use negative indices with arrays to count from the end. ["foo"]["bar"]["baz"] array[-1].attr [3] You can use the wildcard character '*' to iterate over all elements: foo.*.baz ["foo"][*]["baz"] This may return more or less than a single element. Use get to get the first one, and get_all to get a list of all possibilities. If you want to skip any number of elements in path, use two dots '..': foo..baz You can slice the arrays just like in python: array[1:-1:2] Finally, you can filter the elements: foo(bar.baz=true) foo.bar(baz>0).baz foo(bar="yawn").bar At the moment only =, >, <, >=, <= and != operators are available, and you can only use them with strings, integers and boolean values. This code was written in STX Next. %package -n python3-jpath Summary: Access nested dicts and lists using JSON-like path notation. Provides: python-jpath BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-jpath Access nested dicts and lists using JSON-like path notation. Note that this code is written for python 3. The notation is as follows: You can just write the names of components in your path like you would in javascript: foo.bar.baz To access arrays or names with spaces in them, use the '[]' notation. You can use negative indices with arrays to count from the end. ["foo"]["bar"]["baz"] array[-1].attr [3] You can use the wildcard character '*' to iterate over all elements: foo.*.baz ["foo"][*]["baz"] This may return more or less than a single element. Use get to get the first one, and get_all to get a list of all possibilities. If you want to skip any number of elements in path, use two dots '..': foo..baz You can slice the arrays just like in python: array[1:-1:2] Finally, you can filter the elements: foo(bar.baz=true) foo.bar(baz>0).baz foo(bar="yawn").bar At the moment only =, >, <, >=, <= and != operators are available, and you can only use them with strings, integers and boolean values. This code was written in STX Next. %package help Summary: Development documents and examples for jpath Provides: python3-jpath-doc %description help Access nested dicts and lists using JSON-like path notation. Note that this code is written for python 3. The notation is as follows: You can just write the names of components in your path like you would in javascript: foo.bar.baz To access arrays or names with spaces in them, use the '[]' notation. You can use negative indices with arrays to count from the end. ["foo"]["bar"]["baz"] array[-1].attr [3] You can use the wildcard character '*' to iterate over all elements: foo.*.baz ["foo"][*]["baz"] This may return more or less than a single element. Use get to get the first one, and get_all to get a list of all possibilities. If you want to skip any number of elements in path, use two dots '..': foo..baz You can slice the arrays just like in python: array[1:-1:2] Finally, you can filter the elements: foo(bar.baz=true) foo.bar(baz>0).baz foo(bar="yawn").bar At the moment only =, >, <, >=, <= and != operators are available, and you can only use them with strings, integers and boolean values. This code was written in STX Next. %prep %autosetup -n jpath-1.6 %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-jpath -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 1.6-1 - Package Spec generated