Skip to main content

Crate mediawiki

Crate mediawiki 

Source
Expand description

Rust client library for the MediaWiki Action API.

§Quick start

use mediawiki::prelude::*;

let api = Api::new("https://en.wikipedia.org/w/api.php").await.unwrap();

// Fetch the first five pages starting with "Albert"
let result = ActionApiList::allpages()
    .apprefix("Albert")
    .aplimit(5)
    .run(&api)
    .await
    .unwrap();

See prelude for the full set of re-exported types and traits.

Re-exports§

pub use crate::api::Api;
pub use crate::api_sync::ApiSync;
pub use crate::api_utils::MediaWikiApi;
pub use crate::media_wiki_error::MediaWikiError;
pub use crate::page::Page;
pub use crate::revision::Revision;
pub use crate::title::Title;
pub use crate::user::User;
pub use reqwest;

Modules§

action_api
api
The Api class serves as a universal interface to a MediaWiki API.
api_sync
The ApiSync class serves as a universal interface to a MediaWiki API. This sync version is kept for backwards compatibility.
api_utils
Shared utilities and trait for Api and ApiSync.
media_wiki_error
page
The Page class deals with operations done on pages, like editing.
page_categories
Typed representations of MediaWiki action=query&prop=categories results.
page_info
Typed representations of MediaWiki action=query&prop=info results.
page_links
Typed representations of MediaWiki action=query&prop=links results.
page_query
Generic infrastructure for parsing paginated MediaWiki action=query results into typed Rust collections.
page_revisions
Typed representations of MediaWiki action=query&prop=revisions results.
prelude
revision
The Revision class deals with page revisions.
title
The Title class deals with page titles and namespaces
user
The User class deals with the (current) ApiSync user.

Macros§

hashmap
To quickly create a hashmap. Example: hashmap!["action"=>"query","meta"=>"siteinfo","siprop"=>"general|namespaces|namespacealiases|libraries|extensions|statistics"]