%global _empty_manifest_terminate_build 0 Name: python-remotezip Version: 0.12.1 Release: 1 Summary: Access zip file content hosted remotely without downloading the full file. License: MIT URL: https://github.com/gtsystem/python-remotezip Source0: https://mirrors.aliyun.com/pypi/web/packages/f5/01/0f2b40d60b33c780b76438f20b52b63aa8c3553c96b83306cd30c8b76a8b/remotezip-0.12.1.tar.gz BuildArch: noarch %description 2962 2008-07-30 13:58:46 Readme.txt 24740 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.dbf 145 2008-03-12 13:11:54 TM_WORLD_BORDERS-0.3.prj 6478464 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shp 2068 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shx $ remotezip "http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip" Readme.txt Extracting Readme.txt... ``` ## How it works This module uses the `zipfile.ZipFile` class under the hood to decode the zip file format. The `ZipFile` class is initialized with a file like object that will perform transparently the remote queries. The zip format is composed by the content of each compressed member followed by the central directory. How many requests will this module perform to download a member? * If the full archive content is smaller than **initial\_buffer\_size**, only one request will be needed. * Normally two requests are needed, one to download the central directory and one to download the archive member. * If the central directory is bigger than **initial\_buffer\_size**, a third request will be required. * If negative seek operations are used in `ZipExtFile`, each of them will result in a new request. ## Alternative modules There is a similar module available for python [pyremotezip](https://github.com/fcvarela/pyremotezip). %package -n python3-remotezip Summary: Access zip file content hosted remotely without downloading the full file. Provides: python-remotezip BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-remotezip 2962 2008-07-30 13:58:46 Readme.txt 24740 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.dbf 145 2008-03-12 13:11:54 TM_WORLD_BORDERS-0.3.prj 6478464 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shp 2068 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shx $ remotezip "http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip" Readme.txt Extracting Readme.txt... ``` ## How it works This module uses the `zipfile.ZipFile` class under the hood to decode the zip file format. The `ZipFile` class is initialized with a file like object that will perform transparently the remote queries. The zip format is composed by the content of each compressed member followed by the central directory. How many requests will this module perform to download a member? * If the full archive content is smaller than **initial\_buffer\_size**, only one request will be needed. * Normally two requests are needed, one to download the central directory and one to download the archive member. * If the central directory is bigger than **initial\_buffer\_size**, a third request will be required. * If negative seek operations are used in `ZipExtFile`, each of them will result in a new request. ## Alternative modules There is a similar module available for python [pyremotezip](https://github.com/fcvarela/pyremotezip). %package help Summary: Development documents and examples for remotezip Provides: python3-remotezip-doc %description help 2962 2008-07-30 13:58:46 Readme.txt 24740 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.dbf 145 2008-03-12 13:11:54 TM_WORLD_BORDERS-0.3.prj 6478464 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shp 2068 2008-07-30 12:16:46 TM_WORLD_BORDERS-0.3.shx $ remotezip "http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip" Readme.txt Extracting Readme.txt... ``` ## How it works This module uses the `zipfile.ZipFile` class under the hood to decode the zip file format. The `ZipFile` class is initialized with a file like object that will perform transparently the remote queries. The zip format is composed by the content of each compressed member followed by the central directory. How many requests will this module perform to download a member? * If the full archive content is smaller than **initial\_buffer\_size**, only one request will be needed. * Normally two requests are needed, one to download the central directory and one to download the archive member. * If the central directory is bigger than **initial\_buffer\_size**, a third request will be required. * If negative seek operations are used in `ZipExtFile`, each of them will result in a new request. ## Alternative modules There is a similar module available for python [pyremotezip](https://github.com/fcvarela/pyremotezip). %prep %autosetup -n remotezip-0.12.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-remotezip -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.12.1-1 - Package Spec generated