%global _empty_manifest_terminate_build 0 Name: python-addressable Version: 1.4.2 Release: 1 Summary: Use lists like you would dictionaries. License: ISC URL: https://github.com/debrouwere/python-addressable/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/09/7c/3aadb546b7704938386bed7e5c3022f53ab8556bacc6e655371bf83d3ae8/addressable-1.4.2.tar.gz BuildArch: noarch %description ``addressable`` is a silly little utility that allows you to access items inside of a list using one or more indices as keys. You pretty much get to pretend pretend that a list is a souped-up dictionary. :: artists = [{ 'id': '0488', 'name': 'Lambchop', 'members': ['Kurt Wagner'], }, { 'id': '9924', 'name': 'Dire Straits', 'members': ['Mark Knopfler'], }] # keys are matched against one or more indices artists = List(artists, indices=('id', 'name')) print artists['0488'] == artists['Lambchop'] # fuzzy matching artists = List(artists, indices=('id', 'title'), fuzzy=True) print artists['strait'] # extract the value, not the metadata artists = List(artists, indices=('id', 'title'), facet='title') print artists['9924'] == 'Dire Straits' So why would you want to do any of this? You probably don't. ``addressable`` can be useful for certain DSL or library code where you want to give the end users some freedom to code things their way, when you need to be able to very easily refer to certain things that are weirdly named or when there's multiple common ways of referring to something and you want the flexibility to mix-and-match. %package -n python3-addressable Summary: Use lists like you would dictionaries. Provides: python-addressable BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-addressable ``addressable`` is a silly little utility that allows you to access items inside of a list using one or more indices as keys. You pretty much get to pretend pretend that a list is a souped-up dictionary. :: artists = [{ 'id': '0488', 'name': 'Lambchop', 'members': ['Kurt Wagner'], }, { 'id': '9924', 'name': 'Dire Straits', 'members': ['Mark Knopfler'], }] # keys are matched against one or more indices artists = List(artists, indices=('id', 'name')) print artists['0488'] == artists['Lambchop'] # fuzzy matching artists = List(artists, indices=('id', 'title'), fuzzy=True) print artists['strait'] # extract the value, not the metadata artists = List(artists, indices=('id', 'title'), facet='title') print artists['9924'] == 'Dire Straits' So why would you want to do any of this? You probably don't. ``addressable`` can be useful for certain DSL or library code where you want to give the end users some freedom to code things their way, when you need to be able to very easily refer to certain things that are weirdly named or when there's multiple common ways of referring to something and you want the flexibility to mix-and-match. %package help Summary: Development documents and examples for addressable Provides: python3-addressable-doc %description help ``addressable`` is a silly little utility that allows you to access items inside of a list using one or more indices as keys. You pretty much get to pretend pretend that a list is a souped-up dictionary. :: artists = [{ 'id': '0488', 'name': 'Lambchop', 'members': ['Kurt Wagner'], }, { 'id': '9924', 'name': 'Dire Straits', 'members': ['Mark Knopfler'], }] # keys are matched against one or more indices artists = List(artists, indices=('id', 'name')) print artists['0488'] == artists['Lambchop'] # fuzzy matching artists = List(artists, indices=('id', 'title'), fuzzy=True) print artists['strait'] # extract the value, not the metadata artists = List(artists, indices=('id', 'title'), facet='title') print artists['9924'] == 'Dire Straits' So why would you want to do any of this? You probably don't. ``addressable`` can be useful for certain DSL or library code where you want to give the end users some freedom to code things their way, when you need to be able to very easily refer to certain things that are weirdly named or when there's multiple common ways of referring to something and you want the flexibility to mix-and-match. %prep %autosetup -n addressable-1.4.2 %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-addressable -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 1.4.2-1 - Package Spec generated