View Source Wiki.SiteMatrix (mediawiki_client v0.4.8)

Retrieves sites from a wiki farm with the SiteMatrix extension installed.

Summary

Functions

Get the Action API for a known site

Look up a single site by key

Assertive variant of get.

Get all sites for a wiki farm.

Options

Types

@type client_options() :: [
  Wiki.Action.client_option()
  | {:api, binary()}
  | {:key_fun, (Wiki.SiteMatrix.Spec.t() -> any())}
]
@opaque sitematrix_state()

Functions

@spec action_api(String.t() | Wiki.SiteMatrix.Spec.t()) :: String.t()

Get the Action API for a known site

Wiki.SiteMatrix.new()
|> Wiki.SiteMatrix.get("enwiki")
|> Wiki.SiteMatrix.action_api()

# "https://en.wikipedia.org/w/api.php"

As a convenience, the site can be referenced as a bare string, in which case it will be looked up in the default Wikimedia farm. Note that this will be uncached and so inappropriate for most production use.

Wiki.SiteMatrix.action_api("dewiki")

Arguments

  • site - Populated site structure.

Return value

Calculated Action API.

@spec get(sitematrix_state(), String.t()) ::
  {:ok, Wiki.SiteMatrix.Spec.t()} | {:error, any()}

Look up a single site by key

Arguments

  • sitematrix - Result of Sitematrix.new()
  • key - The dbname (eg. "enwiki") or value of another key if specified as an option to new().

Return value

Site spec or error

Assertive variant of get.

@spec get_all(sitematrix_state()) ::
  {:ok, [Wiki.SiteMatrix.Spec.t()]} | {:error, any()}

Get all sites for a wiki farm.

Arguments

  • sitematrix - Result of Sitematrix.new()

Return value

List of site specifications.

@spec new(client_options()) :: sitematrix_state()

Options

  • api - Action API URL for a site participating in the farm. Defaults to https://meta.wikimedia.org/w/api.php.

  • key_fun - Function on a site spec, returning the key to build a lookup with, later passed as the key argument to get. Defaults to returning the site's :dbname (eg. "enwiki").