%global _empty_manifest_terminate_build 0 Name: python-pyuri Version: 0.3.1 Release: 1 Summary: Better URI Handling License: MIT URL: https://github.com/nick-allen/pyuri Source0: https://mirrors.nju.edu.cn/pypi/web/packages/60/d0/d86b0a2588ca66e9b25bdfe6b8193600fb7f8cf7472cc79d689552d1a27f/pyuri-0.3.1.tar.gz BuildArch: noarch %description ## Install `pip install pyuri` ## Usage Raw URI string parsing: ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?query=value#/fragment/path') assert uri.scheme == 'http' assert uri.host == 'localhost' assert uri.port == 80 assert uri.path == '/path/to/file' assert uri.query == 'query=value' assert uri.fragment == '/fragment/path' ``` Composition by parts ```python from pyuri import URI uri = URI(scheme='ftp', host='localhost', port=8000, query='key=value') assert str(uri) == 'ftp://localhost:8000?key=value' ``` Modification and comparison ```python from pyuri import URI uri1 = URI('https://example.com:80') uri2 = URI('https://example.com:443/new/path') assert uri1 != uri2 uri1.port = 443 uri1.path = '/new/path' assert str(uri1) == 'https://example.com:443/new/path' assert uri1 == uri2 ``` Additional helpers ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?repeat=value1&repeat=value2&escape=escaped%20value#/fragment/path') # Access query parameters as dictionary assert uri.query_dict() == { 'repeat': ['value1', 'value2'], 'escape': ['escaped value'] } ``` %package -n python3-pyuri Summary: Better URI Handling Provides: python-pyuri BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyuri ## Install `pip install pyuri` ## Usage Raw URI string parsing: ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?query=value#/fragment/path') assert uri.scheme == 'http' assert uri.host == 'localhost' assert uri.port == 80 assert uri.path == '/path/to/file' assert uri.query == 'query=value' assert uri.fragment == '/fragment/path' ``` Composition by parts ```python from pyuri import URI uri = URI(scheme='ftp', host='localhost', port=8000, query='key=value') assert str(uri) == 'ftp://localhost:8000?key=value' ``` Modification and comparison ```python from pyuri import URI uri1 = URI('https://example.com:80') uri2 = URI('https://example.com:443/new/path') assert uri1 != uri2 uri1.port = 443 uri1.path = '/new/path' assert str(uri1) == 'https://example.com:443/new/path' assert uri1 == uri2 ``` Additional helpers ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?repeat=value1&repeat=value2&escape=escaped%20value#/fragment/path') # Access query parameters as dictionary assert uri.query_dict() == { 'repeat': ['value1', 'value2'], 'escape': ['escaped value'] } ``` %package help Summary: Development documents and examples for pyuri Provides: python3-pyuri-doc %description help ## Install `pip install pyuri` ## Usage Raw URI string parsing: ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?query=value#/fragment/path') assert uri.scheme == 'http' assert uri.host == 'localhost' assert uri.port == 80 assert uri.path == '/path/to/file' assert uri.query == 'query=value' assert uri.fragment == '/fragment/path' ``` Composition by parts ```python from pyuri import URI uri = URI(scheme='ftp', host='localhost', port=8000, query='key=value') assert str(uri) == 'ftp://localhost:8000?key=value' ``` Modification and comparison ```python from pyuri import URI uri1 = URI('https://example.com:80') uri2 = URI('https://example.com:443/new/path') assert uri1 != uri2 uri1.port = 443 uri1.path = '/new/path' assert str(uri1) == 'https://example.com:443/new/path' assert uri1 == uri2 ``` Additional helpers ```python from pyuri import URI uri = URI('http://localhost:80/path/to/file?repeat=value1&repeat=value2&escape=escaped%20value#/fragment/path') # Access query parameters as dictionary assert uri.query_dict() == { 'repeat': ['value1', 'value2'], 'escape': ['escaped value'] } ``` %prep %autosetup -n pyuri-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-pyuri -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.3.1-1 - Package Spec generated