%global _empty_manifest_terminate_build 0 Name: python-conditional-get Version: 0.3 Release: 1 Summary: CLI tool for fetching data using HTTP conditional get License: Apache License, Version 2.0 URL: https://github.com/simonw/conditional-get Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d1/43/3ff0ec880af60467a7090e1898994377ac8c4642b9c5f4fa20571e713528/conditional-get-0.3.tar.gz BuildArch: noarch Requires: python3-httpx Requires: python3-click Requires: python3-pytest Requires: python3-pytest-mock %description # conditional-get [![PyPI](https://img.shields.io/pypi/v/conditional-get.svg)](https://pypi.org/project/conditional-get/) [![Changelog](https://img.shields.io/github/v/release/simonw/conditional-get?include_prereleases&label=changelog)](https://github.com/simonw/conditional-get/releases) [![Tests](https://github.com/simonw/conditional-get/workflows/Test/badge.svg)](https://github.com/simonw/conditional-get/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/dogsheep/conditional-get/blob/main/LICENSE) CLI tool for fetching data using [HTTP conditional get](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests). ## Installation pip install conditional-get ## Usage The first time you run this command it will download the file and store the ETag (if one was returned) in a file called `etags.json`. The second time you run this command against the same URL it will use that ETag, potentially resulting in a `304 Not Modified` response which saves bandwidth by not re-downloading the file. # First run - will fetch the file conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png # Second run - will only fetch the file if it has changed conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png The filename will be derived from the URL. You can customize the filename using the `-o` option: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -o til.png By default the ETags for the retrieved URLs will be stored in a `etags.json` file in the current directory. You can use the `--etags otherfile.json` to store that file somewhere else: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png --etags my-etags.json Use the `-v` option to get debug output showing what is happening: $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Response status code: 200 [####################################] 100% $ ls Simon_Willison__TIL.png etags.json $ cat etags.json { "https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png": "\"d65b78782dfa93213c99099e0e2181d8\"" } $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Existing ETag: "d65b78782dfa93213c99099e0e2181d8" Response status code: 304 The key used to store the ETag in `etags.json` defaults to the URL. You can specify a custom key using the `--key` option: conditional-get --key til https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png cat etags.json { "til": "\"d65b78782dfa93213c99099e0e2181d8\"" } This is useful if the URL to the file changes even though the file contents stays the same - for example if you are downloading files from URLs that include an expiring signature. %package -n python3-conditional-get Summary: CLI tool for fetching data using HTTP conditional get Provides: python-conditional-get BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-conditional-get # conditional-get [![PyPI](https://img.shields.io/pypi/v/conditional-get.svg)](https://pypi.org/project/conditional-get/) [![Changelog](https://img.shields.io/github/v/release/simonw/conditional-get?include_prereleases&label=changelog)](https://github.com/simonw/conditional-get/releases) [![Tests](https://github.com/simonw/conditional-get/workflows/Test/badge.svg)](https://github.com/simonw/conditional-get/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/dogsheep/conditional-get/blob/main/LICENSE) CLI tool for fetching data using [HTTP conditional get](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests). ## Installation pip install conditional-get ## Usage The first time you run this command it will download the file and store the ETag (if one was returned) in a file called `etags.json`. The second time you run this command against the same URL it will use that ETag, potentially resulting in a `304 Not Modified` response which saves bandwidth by not re-downloading the file. # First run - will fetch the file conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png # Second run - will only fetch the file if it has changed conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png The filename will be derived from the URL. You can customize the filename using the `-o` option: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -o til.png By default the ETags for the retrieved URLs will be stored in a `etags.json` file in the current directory. You can use the `--etags otherfile.json` to store that file somewhere else: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png --etags my-etags.json Use the `-v` option to get debug output showing what is happening: $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Response status code: 200 [####################################] 100% $ ls Simon_Willison__TIL.png etags.json $ cat etags.json { "https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png": "\"d65b78782dfa93213c99099e0e2181d8\"" } $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Existing ETag: "d65b78782dfa93213c99099e0e2181d8" Response status code: 304 The key used to store the ETag in `etags.json` defaults to the URL. You can specify a custom key using the `--key` option: conditional-get --key til https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png cat etags.json { "til": "\"d65b78782dfa93213c99099e0e2181d8\"" } This is useful if the URL to the file changes even though the file contents stays the same - for example if you are downloading files from URLs that include an expiring signature. %package help Summary: Development documents and examples for conditional-get Provides: python3-conditional-get-doc %description help # conditional-get [![PyPI](https://img.shields.io/pypi/v/conditional-get.svg)](https://pypi.org/project/conditional-get/) [![Changelog](https://img.shields.io/github/v/release/simonw/conditional-get?include_prereleases&label=changelog)](https://github.com/simonw/conditional-get/releases) [![Tests](https://github.com/simonw/conditional-get/workflows/Test/badge.svg)](https://github.com/simonw/conditional-get/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/dogsheep/conditional-get/blob/main/LICENSE) CLI tool for fetching data using [HTTP conditional get](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests). ## Installation pip install conditional-get ## Usage The first time you run this command it will download the file and store the ETag (if one was returned) in a file called `etags.json`. The second time you run this command against the same URL it will use that ETag, potentially resulting in a `304 Not Modified` response which saves bandwidth by not re-downloading the file. # First run - will fetch the file conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png # Second run - will only fetch the file if it has changed conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png The filename will be derived from the URL. You can customize the filename using the `-o` option: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -o til.png By default the ETags for the retrieved URLs will be stored in a `etags.json` file in the current directory. You can use the `--etags otherfile.json` to store that file somewhere else: conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png --etags my-etags.json Use the `-v` option to get debug output showing what is happening: $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Response status code: 200 [####################################] 100% $ ls Simon_Willison__TIL.png etags.json $ cat etags.json { "https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png": "\"d65b78782dfa93213c99099e0e2181d8\"" } $ conditional-get https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png -v Existing ETag: "d65b78782dfa93213c99099e0e2181d8" Response status code: 304 The key used to store the ETag in `etags.json` defaults to the URL. You can specify a custom key using the `--key` option: conditional-get --key til https://static.simonwillison.net/static/2020/Simon_Willison__TIL.png cat etags.json { "til": "\"d65b78782dfa93213c99099e0e2181d8\"" } This is useful if the URL to the file changes even though the file contents stays the same - for example if you are downloading files from URLs that include an expiring signature. %prep %autosetup -n conditional-get-0.3 %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-conditional-get -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 0.3-1 - Package Spec generated