diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 05:11:24 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 05:11:24 +0000 |
| commit | 08d959a9ed7192626fa55a67f43847ebfe012776 (patch) | |
| tree | a441bb4b40ff51d3a2f61753fefacc1716ca6b6a | |
| parent | 67bd91ca18bbe229df48ed24ce1f4494326bedfb (diff) | |
automatic import of python-saucenao-api
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-saucenao-api.spec | 399 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 401 insertions, 0 deletions
@@ -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_api +[](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests) +[](https://codecov.io/gh/nomnoms12/saucenao_api) +[](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE) +[](https://saucenao.com) +[](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_api +[](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests) +[](https://codecov.io/gh/nomnoms12/saucenao_api) +[](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE) +[](https://saucenao.com) +[](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_api +[](https://github.com/nomnoms12/saucenao_api/actions?query=workflow%3ATests) +[](https://codecov.io/gh/nomnoms12/saucenao_api) +[](https://github.com/nomnoms12/saucenao_api/blob/master/LICENSE) +[](https://saucenao.com) +[](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 @@ -0,0 +1 @@ +89f13c572edf5ffe1711cfcc3e07e14b saucenao_api-2.4.0.tar.gz |
