summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pyuri.spec192
-rw-r--r--sources1
3 files changed, 194 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..bba867d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyuri-0.3.1.tar.gz
diff --git a/python-pyuri.spec b/python-pyuri.spec
new file mode 100644
index 0000000..b7b0231
--- /dev/null
+++ b/python-pyuri.spec
@@ -0,0 +1,192 @@
+%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 <Python_Bot@openeuler.org> - 0.3.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..40eb2e7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+16935b50a6432c62334a92e9aaac1dcd pyuri-0.3.1.tar.gz