mediawiki_rest_api 0.2.1

A Rust client for the MediaWiki REST API.
Documentation

Crates.io Crates.io License License

This Rust crate provides a client for the MediaWiki REST API.

Usage

use mediawiki_rest_api::prelude::*;

// Create a client for the English Wikipedia REST API
let api = RestApiBuilder::wikipedia("en").build();

// From the page "Rust (programming language)"...
let page = Page::new("Rust (programming language)");

// ...retrieve basic information and wikitext
let (page_info,wikitext) = page.get(&api, false).await.unwrap();

// Edit an existing page
let token = "my_oauth_token";
let api = RestApiBuilder::wikipedia("en")
    .with_access_token(token)
    .build();
let (page_info,_) = page.get(&api, false).await.unwrap();
page.edit(&api, &page_info.latest, "new page wikitext", "a comment")
    .await
    .expect("Failed to edit page");

// Convert some wikitext to Parsoid HTML.
let html = Transform::wikitext2html("[[Foo|bar]]", &api).await.unwrap();

Status

  • File: complete
  • Page: complete
  • Revision: complete
  • Transform: complete
  • Math: complete
  • OAuth2: implemented (as part of token management for POST etc)
  • CheckUser: not implemented
  • EventBus: not implemented
  • FlaggedRevs: not implemented
  • GrowthExperiments: not implemented
  • IPinfo: not implemented
  • SecurePoll: not implemented
  • SiteMap: not implemented
  • CampaignEvents: not implemented
  • WikimediaCampaignEvents: not implemented