From 5f8ffb5a30ff95e909523c074599cd632373e9a1 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 11:24:38 +0000 Subject: automatic import of python-async-cse --- python-async-cse.spec | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 python-async-cse.spec (limited to 'python-async-cse.spec') diff --git a/python-async-cse.spec b/python-async-cse.spec new file mode 100644 index 0000000..d91ca5b --- /dev/null +++ b/python-async-cse.spec @@ -0,0 +1,253 @@ +%global _empty_manifest_terminate_build 0 +Name: python-async-cse +Version: 0.3.0 +Release: 1 +Summary: API wrapper for the Google Custom Search JSON API. https://developers.google.com/custom-search/v1/overview +License: MIT +URL: https://github.com/crrapi/async-cse +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bc/d1/c9a6827d0ec7108853ce9e902d3c047495c7f5d358e5ebfe148dc381a4eb/async_cse-0.3.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp + +%description +[![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) +[![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) +[![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) +[![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) +[![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) +[![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) +[![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) +[![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) +# async-cse +Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). +# Installation + +#### Want stable releases? +`pip3 install -U async_cse` +#### Living on the edge? Want hotfixes? +`pip3 install -U git+https://github.com/crrapi/async-cse` + +# Usage +```python +import async_cse + +client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) +results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects +first_result = results[0] # Grab the first result +print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) + +await client.close() # Run this when cleaning up. +``` +# Getting image results +To get image results with the default engine, use `image_search=True` when searching, like so: +```python +await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects +``` + +# Custom search engines +To use Search objects with a custom search engine, provide the ID of the search engine. +```python +async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") +``` + +# SafeSearch +SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. + +# Getting an API key +You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. +![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") + +# (New in 0.3.0) API Key Shuffling +Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ +Just pass a list of keys when instantiating your `Search` client.\ +Here's a demonstration of this: +```python +import async_cse + +client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list +await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... +``` +When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. + + + + +%package -n python3-async-cse +Summary: API wrapper for the Google Custom Search JSON API. https://developers.google.com/custom-search/v1/overview +Provides: python-async-cse +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-async-cse +[![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) +[![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) +[![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) +[![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) +[![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) +[![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) +[![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) +[![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) +# async-cse +Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). +# Installation + +#### Want stable releases? +`pip3 install -U async_cse` +#### Living on the edge? Want hotfixes? +`pip3 install -U git+https://github.com/crrapi/async-cse` + +# Usage +```python +import async_cse + +client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) +results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects +first_result = results[0] # Grab the first result +print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) + +await client.close() # Run this when cleaning up. +``` +# Getting image results +To get image results with the default engine, use `image_search=True` when searching, like so: +```python +await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects +``` + +# Custom search engines +To use Search objects with a custom search engine, provide the ID of the search engine. +```python +async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") +``` + +# SafeSearch +SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. + +# Getting an API key +You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. +![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") + +# (New in 0.3.0) API Key Shuffling +Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ +Just pass a list of keys when instantiating your `Search` client.\ +Here's a demonstration of this: +```python +import async_cse + +client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list +await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... +``` +When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. + + + + +%package help +Summary: Development documents and examples for async-cse +Provides: python3-async-cse-doc +%description help +[![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) +[![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) +[![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) +[![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) +[![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) +[![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) +[![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) +[![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) +# async-cse +Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). +# Installation + +#### Want stable releases? +`pip3 install -U async_cse` +#### Living on the edge? Want hotfixes? +`pip3 install -U git+https://github.com/crrapi/async-cse` + +# Usage +```python +import async_cse + +client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) +results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects +first_result = results[0] # Grab the first result +print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) + +await client.close() # Run this when cleaning up. +``` +# Getting image results +To get image results with the default engine, use `image_search=True` when searching, like so: +```python +await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects +``` + +# Custom search engines +To use Search objects with a custom search engine, provide the ID of the search engine. +```python +async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") +``` + +# SafeSearch +SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. + +# Getting an API key +You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. +![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") + +# (New in 0.3.0) API Key Shuffling +Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ +Just pass a list of keys when instantiating your `Search` client.\ +Here's a demonstration of this: +```python +import async_cse + +client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list +await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... +``` +When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. + + + + +%prep +%autosetup -n async-cse-0.3.0 + +%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-async-cse -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 0.3.0-1 +- Package Spec generated -- cgit v1.2.3