diff --git a/.gitignore b/.gitignore index f9caba1..e98d521 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ szurubooru-integration-test/szurubooru/pgsql/* szurubooru-integration-test/szurubooru/server/* **/.DS_Store **/target +*.so +*.pyc diff --git a/szurubooru-client/src/lib.rs b/szurubooru-client/src/lib.rs index 18660f6..20ec374 100644 --- a/szurubooru-client/src/lib.rs +++ b/szurubooru-client/src/lib.rs @@ -22,7 +22,6 @@ //! ``` //! //! For all other methods for making the requests, see the documentation. -#![feature(cfg_eval)] #![warn(missing_docs)] #![warn(rustdoc::missing_crate_level_docs)] @@ -44,13 +43,14 @@ use pyo3::prelude::*; #[cfg(feature = "python")] #[cfg_attr(feature = "python", pymodule)] -/// A Python wrapper around [SzurubooruClient] +/// A Python wrapper around SzurubooruClient mod szurubooru_client { + use pyo3::prelude::*; #[pymodule_export] pub use crate::{ errors::SzuruPyClientError, - models::{ + /*models::{ AroundPostResult, CommentResource, GlobalInfo, ImageSearchResult, ImageSearchSimilarPost, MicroPoolResource, MicroPostResource, MicroTagResource, MicroUserResource, NoteResource, PoolCategoryResource, PoolResource, PostResource, @@ -59,13 +59,38 @@ mod szurubooru_client { SnapshotResourceType, TagCategoryResource, TagResource, TagSibling, UserAuthTokenResource, UserAvatarStyle, UserRank, UserResource, }, - py::asynchronous::PythonAsyncClient, - py::synchronous::PythonSyncClient, tokens::{ anonymous_token, named_token, sort_token, special_token, CommentNamedToken, CommentSortToken, PoolNamedToken, PoolSortToken, PostNamedToken, PostSortToken, PostSpecialToken, QueryToken, SnapshotNamedToken, TagNamedToken, TagSortToken, UserNamedToken, UserSortToken, - }, + },*/ + py::asynchronous::PythonAsyncClient, py::synchronous::PythonSyncClient, }; + + #[pymodule(name = "_tokens")] + mod tokens { + #[pymodule_export] + pub use crate::tokens::{ + anonymous_token, named_token, sort_token, special_token, CommentNamedToken, + CommentSortToken, PoolNamedToken, PoolSortToken, PostNamedToken, PostSortToken, + PostSpecialToken, QueryToken, SnapshotNamedToken, TagNamedToken, TagSortToken, + UserNamedToken, UserSortToken, + }; + use pyo3::prelude::*; + } + + #[pymodule(name = "_models")] + mod models { + #[pymodule_export] + pub use crate::models::{ + AroundPostResult, CommentResource, GlobalInfo, ImageSearchResult, + ImageSearchSimilarPost, MicroPoolResource, MicroPostResource, MicroTagResource, + MicroUserResource, NoteResource, PoolCategoryResource, PoolResource, PostResource, + PostSafety, PostType, SnapshotCreationDeletionData, SnapshotData, + SnapshotModificationData, SnapshotOperationType, SnapshotResource, + SnapshotResourceType, TagCategoryResource, TagResource, TagSibling, + UserAuthTokenResource, UserAvatarStyle, UserRank, UserResource, + }; + } } diff --git a/szurubooru-client/szurubooru_client/__init__.py b/szurubooru-client/szurubooru_client/__init__.py new file mode 100644 index 0000000..86b8e12 --- /dev/null +++ b/szurubooru-client/szurubooru_client/__init__.py @@ -0,0 +1,4 @@ +from .szurubooru_client import * + +__doc__ = szurubooru_client.__doc__ +__all__ = ["SzurubooruSyncClient", "SzurubooruAsyncClient", "SzuruPyClientError"] diff --git a/szurubooru-client/szurubooru_client/models.py b/szurubooru-client/szurubooru_client/models.py new file mode 100644 index 0000000..7836104 --- /dev/null +++ b/szurubooru-client/szurubooru_client/models.py @@ -0,0 +1,34 @@ +from .szurubooru_client import _models + +AroundPostResult = _models.AroundPostResult +CommentResource = _models.CommentResource +GlobalInfo = _models.GlobalInfo +ImageSearchResult = _models.ImageSearchResult +ImageSearchSimilarPost = _models.ImageSearchSimilarPost +MicroPoolResource = _models.MicroPoolResource +MicroPostResource = _models.MicroPostResource +MicroTagResource = _models.MicroTagResource +MicroUserResource = _models.MicroUserResource +NoteResource = _models.NoteResource +PoolCategoryResource = _models.PoolCategoryResource +PoolResource = _models.PoolResource +PostResource = _models.PostResource +PostSafety = _models.PostSafety +PostType = _models.PostType +SnapshotCreationDeletionData = _models.SnapshotCreationDeletionData +SnapshotData = _models.SnapshotData +SnapshotModificationData = _models.SnapshotModificationData +SnapshotOperationType = _models.SnapshotOperationType +SnapshotResource = _models.SnapshotResource +SnapshotResourceType = _models.SnapshotResourceType +TagCategoryResource = _models.TagCategoryResource +TagResource = _models.TagResource +TagSibling = _models.TagSibling +UserAuthTokenResource = _models.UserAuthTokenResource +UserAvatarStyle = _models.UserAvatarStyle +UserRank = _models.UserRank +UserResource = _models.UserResource + +__doc__ = szurubooru_client.models.__doc__ +if hasattr(szurubooru_client.models, "__all__"): + __all__ = szurubooru_client.models.__all__ diff --git a/szurubooru-client/szurubooru_client/tokens.py b/szurubooru-client/szurubooru_client/tokens.py new file mode 100644 index 0000000..0cc5578 --- /dev/null +++ b/szurubooru-client/szurubooru_client/tokens.py @@ -0,0 +1,23 @@ +from .szurubooru_client import _tokens + +anonymous_token = _tokens.anonymous_token +named_token = _tokens.named_token +sort_token = _tokens.sort_token +special_token = _tokens.special_token +CommentNamedToken = _tokens.CommentNamedToken +CommentSortToken = _tokens.CommentSortToken +PoolNamedToken = _tokens.PoolNamedToken +PoolSortToken = _tokens.PoolSortToken +PostNamedToken = _tokens.PostNamedToken +PostSortToken = _tokens.PostSortToken +PostSpecialToken = _tokens.PostSpecialToken +QueryToken = _tokens.QueryToken +SnapshotNamedToken = _tokens.SnapshotNamedToken +TagNamedToken = _tokens.TagNamedToken +TagSortToken = _tokens.TagSortToken +UserNamedToken = _tokens.UserNamedToken +UserSortToken = _tokens.UserSortToken + +__doc__ = _tokens.__doc__ +if hasattr(_tokens, "__all__"): + __all__ = getattr(_tokens, "__all__")