summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 05:11:24 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 05:11:24 +0000
commit08d959a9ed7192626fa55a67f43847ebfe012776 (patch)
treea441bb4b40ff51d3a2f61753fefacc1716ca6b6a
parent67bd91ca18bbe229df48ed24ce1f4494326bedfb (diff)
automatic import of python-saucenao-api
-rw-r--r--.gitignore1
-rw-r--r--python-saucenao-api.spec399
-rw-r--r--sources1
3 files changed, 401 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c59ffae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/saucenao_api-2.4.0.tar.gz
diff --git a/python-saucenao-api.spec b/python-saucenao-api.spec
new file mode 100644
index 0000000..261d2f3
--- /dev/null
+++ b/python-saucenao-api.spec
@@ -0,0 +1,399 @@
+%global _empty_manifest_terminate_build 0
+Name: python-saucenao-api
+Version: 2.4.0
+Release: 1
+Summary: Wrapper for SauceNAO JSON API
+License: GNU General Public License v3 (GPLv3)
+URL: https://github.com/nomnoms12/saucenao_api/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/cf/4c/3967f981ea2595734e03ca29f4beb3beaf155d53cffd4799cc053dd8e3dd/saucenao_api-2.4.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-aiohttp
+Requires: python3-responses
+Requires: python3-aioresponses
+Requires: python3-pytest
+Requires: python3-pytest-cov
+
+%description
+![SauceNAO Logo](https://user-images.githubusercontent.com/44947427/89287471-b9289000-d65c-11ea-905d-aa72f908a9b3.png)
+
+# saucenao_api
+[![Tests](https://github.com/nomnoms12/saucenao_api/workflows/Tests/badge.svg?branch=master)](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests)
+[![codecov](https://codecov.io/gh/nomnoms12/saucenao_api/branch/master/graph/badge.svg)](https://codecov.io/gh/nomnoms12/saucenao_api)
+[![License](https://img.shields.io/github/license/nomnoms12/saucenao_api)](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE)
+[![SauceNao Status](https://img.shields.io/website?url=https%3A%2F%2Fsaucenao.com)](https://saucenao.com)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/saucenao_api)](https://pypi.org/project/saucenao-api)
+
+> “The rough edges are a part of its charm”
+
+Unofficial wrapper for the [SauceNAO](https://saucenao.com) JSON API
+
+# Installation
+This package requires Python 3.6 or later.
+```
+pip install -U saucenao_api
+```
+
+# Usage
+```python
+from saucenao_api import SauceNao
+
+# Replace the key with your own
+sauce = SauceNao('077f16b38a2452401790540f41246c7d951330c0')
+results = sauce.from_url('https://i.imgur.com/oZjCxGo.jpg') # or from_file()
+
+best = results[0] # results sorted by similarity
+```
+
+The library attempts to provide a developer friendly container format for all results. Meaning, no matter if SauceNao returns a Pixiv source result or a more obscure source, you'll be able to easily pull the `title`, `urls`, `author` and other useful information:
+```python
+from saucenao_api import SauceNao
+results = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/oZjCxGo.jpg')
+
+len(results) # 6
+bool(results) # True
+
+# Request limits
+results.short_remaining # 4 (per 30 seconds limit)
+results.long_remaining # 99 (per day limit)
+
+results[0].thumbnail # temporary URL for picture preview
+results[0].similarity # 93.3
+results[0].title # めぐみん
+results[0].urls # ['https://www.pixiv.net/member_illust.php?mode=medium&illust_id=77630170']
+results[0].author # frgs
+results[0].raw # raw result
+```
+
+Video search results and book search results provide additional attributes:
+```python
+from saucenao_api import SauceNao, VideoSauce, BookSauce
+result = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/k9xlw6f.jpg')[0]
+
+if isinstance(result, VideoSauce):
+ result.part # 02
+ result.year # 2009-2009
+ result.est_time # 00:05:32 / 00:21:10
+
+elif isinstance(result, BookSauce):
+ result.part
+```
+*You can use the `dir` function to see all the attributes.*
+
+## Asyncio
+```python
+import asyncio
+from saucenao_api import AIOSauceNao
+
+async def main():
+ # async requesting is also supported via the AIOSauceNao class
+ async with AIOSauceNao('077f16b38a2452401790540f41246c7d951330c0') as aio:
+ results = await aio.from_url('https://i.imgur.com/k9xlw6f.jpg')
+
+asyncio.run(main())
+```
+The async with functionality is pretty useful if you want to make multiple requests.
+Note that you can still search without the `async with` syntax by simply calling `await AIOSauceNao(...).from_url(...)`.
+
+## Advanced usage
+```python
+from saucenao_api import SauceNao
+from saucenao_api.params import DB, Hide, BgColor
+
+sauce = SauceNao(api_key=None, # Optional[str]
+ testmode=0, # int
+ dbmask=None, # Optional[int]
+ dbmaski=None, # Optional[int]
+ db=DB.ALL, # int
+ numres=6, # int
+ frame=1, # int
+ hide=Hide.NONE, # int
+ bgcolor=BgColor.NONE, # int
+)
+```
+The parameters `frame`, `hide` and `bgcolor` are taken from the main page and from the [testing page](https://saucenao.com/testing), so their performance is not guaranteed. For the rest see [SauceNAO User Config](https://saucenao.com/user.php?page=search-api) page (registration required).
+
+### Exceptions
+All exceptions inherit from `SauceNaoApiError` for easy catching and handling. See [`errors.py`](saucenao_api/errors.py) file for details.
+
+*Note: SauceNao doesn't have good documentation. Exceptions are created only based on observations of changes in the returned status codes. If you find a specific error that is not being processed, please report it.*
+
+# License
+This package is based on [`pysaucenao`](https://github.com/FujiMakoto/pysaucenao).
+
+
+
+
+%package -n python3-saucenao-api
+Summary: Wrapper for SauceNAO JSON API
+Provides: python-saucenao-api
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-saucenao-api
+![SauceNAO Logo](https://user-images.githubusercontent.com/44947427/89287471-b9289000-d65c-11ea-905d-aa72f908a9b3.png)
+
+# saucenao_api
+[![Tests](https://github.com/nomnoms12/saucenao_api/workflows/Tests/badge.svg?branch=master)](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests)
+[![codecov](https://codecov.io/gh/nomnoms12/saucenao_api/branch/master/graph/badge.svg)](https://codecov.io/gh/nomnoms12/saucenao_api)
+[![License](https://img.shields.io/github/license/nomnoms12/saucenao_api)](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE)
+[![SauceNao Status](https://img.shields.io/website?url=https%3A%2F%2Fsaucenao.com)](https://saucenao.com)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/saucenao_api)](https://pypi.org/project/saucenao-api)
+
+> “The rough edges are a part of its charm”
+
+Unofficial wrapper for the [SauceNAO](https://saucenao.com) JSON API
+
+# Installation
+This package requires Python 3.6 or later.
+```
+pip install -U saucenao_api
+```
+
+# Usage
+```python
+from saucenao_api import SauceNao
+
+# Replace the key with your own
+sauce = SauceNao('077f16b38a2452401790540f41246c7d951330c0')
+results = sauce.from_url('https://i.imgur.com/oZjCxGo.jpg') # or from_file()
+
+best = results[0] # results sorted by similarity
+```
+
+The library attempts to provide a developer friendly container format for all results. Meaning, no matter if SauceNao returns a Pixiv source result or a more obscure source, you'll be able to easily pull the `title`, `urls`, `author` and other useful information:
+```python
+from saucenao_api import SauceNao
+results = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/oZjCxGo.jpg')
+
+len(results) # 6
+bool(results) # True
+
+# Request limits
+results.short_remaining # 4 (per 30 seconds limit)
+results.long_remaining # 99 (per day limit)
+
+results[0].thumbnail # temporary URL for picture preview
+results[0].similarity # 93.3
+results[0].title # めぐみん
+results[0].urls # ['https://www.pixiv.net/member_illust.php?mode=medium&illust_id=77630170']
+results[0].author # frgs
+results[0].raw # raw result
+```
+
+Video search results and book search results provide additional attributes:
+```python
+from saucenao_api import SauceNao, VideoSauce, BookSauce
+result = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/k9xlw6f.jpg')[0]
+
+if isinstance(result, VideoSauce):
+ result.part # 02
+ result.year # 2009-2009
+ result.est_time # 00:05:32 / 00:21:10
+
+elif isinstance(result, BookSauce):
+ result.part
+```
+*You can use the `dir` function to see all the attributes.*
+
+## Asyncio
+```python
+import asyncio
+from saucenao_api import AIOSauceNao
+
+async def main():
+ # async requesting is also supported via the AIOSauceNao class
+ async with AIOSauceNao('077f16b38a2452401790540f41246c7d951330c0') as aio:
+ results = await aio.from_url('https://i.imgur.com/k9xlw6f.jpg')
+
+asyncio.run(main())
+```
+The async with functionality is pretty useful if you want to make multiple requests.
+Note that you can still search without the `async with` syntax by simply calling `await AIOSauceNao(...).from_url(...)`.
+
+## Advanced usage
+```python
+from saucenao_api import SauceNao
+from saucenao_api.params import DB, Hide, BgColor
+
+sauce = SauceNao(api_key=None, # Optional[str]
+ testmode=0, # int
+ dbmask=None, # Optional[int]
+ dbmaski=None, # Optional[int]
+ db=DB.ALL, # int
+ numres=6, # int
+ frame=1, # int
+ hide=Hide.NONE, # int
+ bgcolor=BgColor.NONE, # int
+)
+```
+The parameters `frame`, `hide` and `bgcolor` are taken from the main page and from the [testing page](https://saucenao.com/testing), so their performance is not guaranteed. For the rest see [SauceNAO User Config](https://saucenao.com/user.php?page=search-api) page (registration required).
+
+### Exceptions
+All exceptions inherit from `SauceNaoApiError` for easy catching and handling. See [`errors.py`](saucenao_api/errors.py) file for details.
+
+*Note: SauceNao doesn't have good documentation. Exceptions are created only based on observations of changes in the returned status codes. If you find a specific error that is not being processed, please report it.*
+
+# License
+This package is based on [`pysaucenao`](https://github.com/FujiMakoto/pysaucenao).
+
+
+
+
+%package help
+Summary: Development documents and examples for saucenao-api
+Provides: python3-saucenao-api-doc
+%description help
+![SauceNAO Logo](https://user-images.githubusercontent.com/44947427/89287471-b9289000-d65c-11ea-905d-aa72f908a9b3.png)
+
+# saucenao_api
+[![Tests](https://github.com/nomnoms12/saucenao_api/workflows/Tests/badge.svg?branch=master)](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests)
+[![codecov](https://codecov.io/gh/nomnoms12/saucenao_api/branch/master/graph/badge.svg)](https://codecov.io/gh/nomnoms12/saucenao_api)
+[![License](https://img.shields.io/github/license/nomnoms12/saucenao_api)](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE)
+[![SauceNao Status](https://img.shields.io/website?url=https%3A%2F%2Fsaucenao.com)](https://saucenao.com)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/saucenao_api)](https://pypi.org/project/saucenao-api)
+
+> “The rough edges are a part of its charm”
+
+Unofficial wrapper for the [SauceNAO](https://saucenao.com) JSON API
+
+# Installation
+This package requires Python 3.6 or later.
+```
+pip install -U saucenao_api
+```
+
+# Usage
+```python
+from saucenao_api import SauceNao
+
+# Replace the key with your own
+sauce = SauceNao('077f16b38a2452401790540f41246c7d951330c0')
+results = sauce.from_url('https://i.imgur.com/oZjCxGo.jpg') # or from_file()
+
+best = results[0] # results sorted by similarity
+```
+
+The library attempts to provide a developer friendly container format for all results. Meaning, no matter if SauceNao returns a Pixiv source result or a more obscure source, you'll be able to easily pull the `title`, `urls`, `author` and other useful information:
+```python
+from saucenao_api import SauceNao
+results = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/oZjCxGo.jpg')
+
+len(results) # 6
+bool(results) # True
+
+# Request limits
+results.short_remaining # 4 (per 30 seconds limit)
+results.long_remaining # 99 (per day limit)
+
+results[0].thumbnail # temporary URL for picture preview
+results[0].similarity # 93.3
+results[0].title # めぐみん
+results[0].urls # ['https://www.pixiv.net/member_illust.php?mode=medium&illust_id=77630170']
+results[0].author # frgs
+results[0].raw # raw result
+```
+
+Video search results and book search results provide additional attributes:
+```python
+from saucenao_api import SauceNao, VideoSauce, BookSauce
+result = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/k9xlw6f.jpg')[0]
+
+if isinstance(result, VideoSauce):
+ result.part # 02
+ result.year # 2009-2009
+ result.est_time # 00:05:32 / 00:21:10
+
+elif isinstance(result, BookSauce):
+ result.part
+```
+*You can use the `dir` function to see all the attributes.*
+
+## Asyncio
+```python
+import asyncio
+from saucenao_api import AIOSauceNao
+
+async def main():
+ # async requesting is also supported via the AIOSauceNao class
+ async with AIOSauceNao('077f16b38a2452401790540f41246c7d951330c0') as aio:
+ results = await aio.from_url('https://i.imgur.com/k9xlw6f.jpg')
+
+asyncio.run(main())
+```
+The async with functionality is pretty useful if you want to make multiple requests.
+Note that you can still search without the `async with` syntax by simply calling `await AIOSauceNao(...).from_url(...)`.
+
+## Advanced usage
+```python
+from saucenao_api import SauceNao
+from saucenao_api.params import DB, Hide, BgColor
+
+sauce = SauceNao(api_key=None, # Optional[str]
+ testmode=0, # int
+ dbmask=None, # Optional[int]
+ dbmaski=None, # Optional[int]
+ db=DB.ALL, # int
+ numres=6, # int
+ frame=1, # int
+ hide=Hide.NONE, # int
+ bgcolor=BgColor.NONE, # int
+)
+```
+The parameters `frame`, `hide` and `bgcolor` are taken from the main page and from the [testing page](https://saucenao.com/testing), so their performance is not guaranteed. For the rest see [SauceNAO User Config](https://saucenao.com/user.php?page=search-api) page (registration required).
+
+### Exceptions
+All exceptions inherit from `SauceNaoApiError` for easy catching and handling. See [`errors.py`](saucenao_api/errors.py) file for details.
+
+*Note: SauceNao doesn't have good documentation. Exceptions are created only based on observations of changes in the returned status codes. If you find a specific error that is not being processed, please report it.*
+
+# License
+This package is based on [`pysaucenao`](https://github.com/FujiMakoto/pysaucenao).
+
+
+
+
+%prep
+%autosetup -n saucenao-api-2.4.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-saucenao-api -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 2.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..beb45d8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+89f13c572edf5ffe1711cfcc3e07e14b saucenao_api-2.4.0.tar.gz