%global _empty_manifest_terminate_build 0 Name: python-pyszuru Version: 0.3.1 Release: 1 Summary: Python interface for szurubooru License: GNU General Public License v3 (GPLv3) URL: https://github.com/sgsunder/python-szurubooru Source0: https://mirrors.aliyun.com/pypi/web/packages/40/73/a4f7c398f5b6d290b58713021f29a269ea33653e38fb6ad0bfece94be517/pyszuru-0.3.1.tar.gz BuildArch: noarch Requires: python3-appdirs Requires: python3-requests Requires: python3-tqdm %description # pyszuru Python interface for szurubooru Installation: `pip install pyszuru` # Usage ### Creating API Instance ```python import pyszuru mybooru = pyszuru.API( "https://example.com/booru", username="alice", # Authenticate with a password password="hunter2", # Or use a token token="my-token-string", # Optionally specify a API base URL if it differs from the default configuration # api_url="/booru-api", <-- relative to base URL # api_url="https://api.example.com/booru", <-- new absolute base ) ``` ### Working with tags Note: it is reccomended to use the factory functions outlined below instead of calling the `Tag` constructor directly. #### Get existing tag Get an existing tag from the booru by referencing it by name ```python marvel_comics_tag = mybooru.getTag("marvel_comics") ``` #### Create new tag Create a new tag, must specifiy a primary name only ```python spiderman_tag = mybooru.createTag("spiderman") ``` #### Alter properties of tag ```python spiderman_tag.implications = spiderman_tag.implications + [marvel_comics_tag] spiderman_tag.push() ``` ### Working with posts Note: it is reccomended to use the factory functions outlined below instead of calling the `Post` constructor directly. #### Get existing post ```python my_old_post = mybooru.getPost(1337) ``` #### Create a post ```python with open("image.jpg", "rb") as f: file_token = mybooru.upload_file(f) my_new_post = mybooru.createPost(file_token, "safe") ``` #### Alter tags of a post ```python my_new_post.tags = [marvel_comics_tag, spiderman_tag] my_new_post.push() ``` ### Searching #### Searching across tags ```python unused_tags = mybooru.search_tag("usages:0") ``` #### Searching across posts ```python for post in mybooru.search_post( "marvel_comics type:image special:fav", show_progress_bar=True ): wget.download(post.content) ``` #### Reverse image search ```python with open("similar.jpg", "rb") as f: similar_file_token = mybooru.upload_file(f) result = mybooru.search_by_image(similar_file_token) if result: if any(x.exact for x in result): raise Exception("Found an exact match") else: warnings.warn(f"Found {len(result)} similar posts") ``` %package -n python3-pyszuru Summary: Python interface for szurubooru Provides: python-pyszuru BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyszuru # pyszuru Python interface for szurubooru Installation: `pip install pyszuru` # Usage ### Creating API Instance ```python import pyszuru mybooru = pyszuru.API( "https://example.com/booru", username="alice", # Authenticate with a password password="hunter2", # Or use a token token="my-token-string", # Optionally specify a API base URL if it differs from the default configuration # api_url="/booru-api", <-- relative to base URL # api_url="https://api.example.com/booru", <-- new absolute base ) ``` ### Working with tags Note: it is reccomended to use the factory functions outlined below instead of calling the `Tag` constructor directly. #### Get existing tag Get an existing tag from the booru by referencing it by name ```python marvel_comics_tag = mybooru.getTag("marvel_comics") ``` #### Create new tag Create a new tag, must specifiy a primary name only ```python spiderman_tag = mybooru.createTag("spiderman") ``` #### Alter properties of tag ```python spiderman_tag.implications = spiderman_tag.implications + [marvel_comics_tag] spiderman_tag.push() ``` ### Working with posts Note: it is reccomended to use the factory functions outlined below instead of calling the `Post` constructor directly. #### Get existing post ```python my_old_post = mybooru.getPost(1337) ``` #### Create a post ```python with open("image.jpg", "rb") as f: file_token = mybooru.upload_file(f) my_new_post = mybooru.createPost(file_token, "safe") ``` #### Alter tags of a post ```python my_new_post.tags = [marvel_comics_tag, spiderman_tag] my_new_post.push() ``` ### Searching #### Searching across tags ```python unused_tags = mybooru.search_tag("usages:0") ``` #### Searching across posts ```python for post in mybooru.search_post( "marvel_comics type:image special:fav", show_progress_bar=True ): wget.download(post.content) ``` #### Reverse image search ```python with open("similar.jpg", "rb") as f: similar_file_token = mybooru.upload_file(f) result = mybooru.search_by_image(similar_file_token) if result: if any(x.exact for x in result): raise Exception("Found an exact match") else: warnings.warn(f"Found {len(result)} similar posts") ``` %package help Summary: Development documents and examples for pyszuru Provides: python3-pyszuru-doc %description help # pyszuru Python interface for szurubooru Installation: `pip install pyszuru` # Usage ### Creating API Instance ```python import pyszuru mybooru = pyszuru.API( "https://example.com/booru", username="alice", # Authenticate with a password password="hunter2", # Or use a token token="my-token-string", # Optionally specify a API base URL if it differs from the default configuration # api_url="/booru-api", <-- relative to base URL # api_url="https://api.example.com/booru", <-- new absolute base ) ``` ### Working with tags Note: it is reccomended to use the factory functions outlined below instead of calling the `Tag` constructor directly. #### Get existing tag Get an existing tag from the booru by referencing it by name ```python marvel_comics_tag = mybooru.getTag("marvel_comics") ``` #### Create new tag Create a new tag, must specifiy a primary name only ```python spiderman_tag = mybooru.createTag("spiderman") ``` #### Alter properties of tag ```python spiderman_tag.implications = spiderman_tag.implications + [marvel_comics_tag] spiderman_tag.push() ``` ### Working with posts Note: it is reccomended to use the factory functions outlined below instead of calling the `Post` constructor directly. #### Get existing post ```python my_old_post = mybooru.getPost(1337) ``` #### Create a post ```python with open("image.jpg", "rb") as f: file_token = mybooru.upload_file(f) my_new_post = mybooru.createPost(file_token, "safe") ``` #### Alter tags of a post ```python my_new_post.tags = [marvel_comics_tag, spiderman_tag] my_new_post.push() ``` ### Searching #### Searching across tags ```python unused_tags = mybooru.search_tag("usages:0") ``` #### Searching across posts ```python for post in mybooru.search_post( "marvel_comics type:image special:fav", show_progress_bar=True ): wget.download(post.content) ``` #### Reverse image search ```python with open("similar.jpg", "rb") as f: similar_file_token = mybooru.upload_file(f) result = mybooru.search_by_image(similar_file_token) if result: if any(x.exact for x in result): raise Exception("Found an exact match") else: warnings.warn(f"Found {len(result)} similar posts") ``` %prep %autosetup -n pyszuru-0.3.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-pyszuru -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.3.1-1 - Package Spec generated