pub mod auth;
pub mod client {
pub mod app;
pub mod public;
pub mod bypass_sni;
}
pub mod error;
pub mod models {
pub mod app;
pub mod public;
}
pub mod network;
pub mod utils;
pub use auth::{AuthClient, AuthResponse, User as AuthUser};
pub use client::app::AppClient;
pub use client::public::PublicClient;
pub use client::bypass_sni::BypassSniAppClient;
pub use error::{ApiErrorCode, ApiErrorDetails, PixivError, Result};
pub use models::app::{
Comment, CommentAccessControl, CommentsResponse, ContentType, Duration, Filter, FollowRestrict,
Illust, IllustBookmarkResponse, IllustDetail, IllustFollowResponse, ImageUrls, MetaPage, MetaSinglePage,
ProfileImageUrls, RankingLabel, RankingMode, RankingResponse, RecommendedResponse, RestrictionAttributes,
SearchIllustResponse, SearchTarget, Series, Sort, Tag, TrendingTag, TrendingTagsResponse,
UgoiraFrame, UgoiraMetadata, UgoiraMetadataResponse, User as AppUser, UserFollowerResponse,
UserFollowingResponse, UserMypixivResponse, UserPreview, ZipUrls,
};
pub use models::public::{
PublicIllust, PublicUser, PublicSearchResponse, PublicUserDetail, PublicUserIllusts, PublicUserBookmarks,
PublicSearchResponse as PublicSearchIllustResponse, SearchTarget as PublicSearchTarget, Sort as PublicSort,
Restrict as PublicRestrict, ContentType as PublicContentType, Duration as PublicDuration, Filter as PublicFilter
};
pub use network::HttpClient;
pub use utils::{download, extract_extension, format_file_size, parse_qs, safe_filename, set_accept_language};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const NAME: &str = env!("CARGO_PKG_NAME");
pub fn init_logging() {
#[cfg(feature = "tracing-subscriber")]
{
use tracing_subscriber::{fmt, EnvFilter};
fmt()
.with_env_filter(EnvFilter::from_default_env())
.init();
}
#[cfg(not(feature = "tracing-subscriber"))]
{
eprintln!("Warning: tracing-subscriber feature not enabled, logs may not be displayed");
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_library_info() {
assert!(!VERSION.is_empty());
assert_eq!(NAME, "pixiv_rs");
}
}