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 |
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 |
links_results | Like |
categories_results | Like |
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
.