Struct wikipedia::Wikipedia [] [src]

pub struct Wikipedia<A: HttpClient> {
    pub client: A,
    pub pre_language_url: String,
    pub post_language_url: String,
    pub language: String,
    pub search_results: u32,
    pub images_results: String,
    pub links_results: String,
    pub categories_results: String,
}

Fields

client

HttpClient struct.

pre_language_url

Url is created by concatenating pre_language_url + language + post_language_url.

post_language_url
language
search_results

Number of results to fetch when searching.

images_results

Number of images to fetch in each request when calling get_images. The iterator will go through all of them, fetching pages of this size. It can be the string "max" to fetch as many as possible on every request.

Like images_results, for links and references.

categories_results

Like images_results, for categories.

Methods

impl<A: HttpClient> Wikipedia<A>

fn new(client: A) -> Self

Creates a new object using the provided client and default values.

fn get_languages(&self) -> Result<Vec<(String, String)>>

Returns a list of languages in the form of (identifier, language), for example [("en", "English"), ("es", "Español")]

fn base_url(&self) -> String

Returns the api url

fn set_base_url(&mut self, base_url: &str)

Updates the url format. The substring {language} will be replaced with the selected language.

fn search(&self, query: &str) -> Result<Vec<String>>

Searches for a string and returns a list of relevant page titles.

Examples

extern crate wikipedia;

let wiki = wikipedia::Wikipedia::<wikipedia::http::hyper::Client>::default();
let results = wiki.search("keyboard").unwrap();
assert!(results.contains(&"Computer keyboard".to_owned()));

fn geosearch(&self, latitude: f64, longitude: f64, radius: u16) -> Result<Vec<String>>

Search articles within radius meters of latitude and longitude.

Examples

extern crate wikipedia;

let wiki = wikipedia::Wikipedia::<wikipedia::http::hyper::Client>::default();
let results = wiki.geosearch(40.750556,-73.993611, 20).unwrap();
assert!(results.contains(&"Madison Square Garden".to_owned()));

fn random_count(&self, count: u8) -> Result<Vec<String>>

Fetches count random articles' title.

fn random(&self) -> Result<Option<String>>

Fetches a random article's title.

fn page_from_title<'a>(&'a self, title: String) -> Page<'a, A>

Creates a new Page given a title.

fn page_from_pageid<'a>(&'a self, pageid: String) -> Page<'a, A>

Creates a new Page given a pageid.

Trait Implementations

impl<A: HttpClient + Default> Default for Wikipedia<A>

fn default() -> Self

Derived Implementations

impl<A: Debug + HttpClient> Debug for Wikipedia<A>

fn fmt(&self, __arg_0: &mut Formatter) -> Result