Wikipedia:Lua/Modul/PageAttributes/en

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

PageAttributes – Module to assign attributes to pages or entire namespaces.

Functions for templates

[Quelltext bearbeiten]
f
Retrieve attributes of a particular page
Parameter:
1
group = submodule name
(mandatory)
2
page name
if first character # and digits only following: numerical page ID
(optional) default: current page
Returns:
assigned attribute value
1 for true
empty for false or nothing assigned oder unknown group
failsafe
Version management

The Failsafe interface is heading for version management of globally distributed Lua modules. It enables modules equipped with this interface to

  • ensure, that a library module required by a template or another module available as local copy does support certain functionality, or complain if not.
  • administrate global updating and linking of module codes via Wikidata.

The Failsafe interface is present both at template level and for direct Lua access.

The functions in detail are (not all supported yet completely by every library):

Parameter
Value Result current
nothing
false
local version ID »2022-06-06«
Minimal version version ID required at least
date in ISO format

It will be compared whether the current local implementation matches this version or later.

  • empty, if minimal version not achieved
  • 2001-01-01 → »2022-06-06«
  • 2099-01-01 → »«
wikidata version ID of global upstream
  • version ID at Wikidata
  • local, if not found there
»2022-06-06«
item ID of the Wikidata item
  • empty if not defined
Q112249306
~ Corresponding version ID locally and registered at Wikidata
  • empty, if up to date
  • version ID at Wikidata, if not equal
»«
@ Is the current (module) page linked correctly with Wikidata item?
  • empty, if linked to the item which is supposed
  • Iitem ID, if not
»Q112249306«
The return value is in template programming empty or under Lua false, otherwis a non-empty string as described.

sub-modules for groups

[Quelltext bearbeiten]

A group of properties may be defined via a sub-module.

  • Currently the name needs to be a direct sub page of the root module within the local Wiki. With JSON, in the future other namespaces will be accessible.
  • It is supposed to be of type mw.loadData but may be JSON in future.
  • The following components may be returned:
    • roomstable
      • Assignments to namespace numbers
    • pageidstable
      • Assignments to particular page ids
    • failsafestring
      • Version ID

Lookup for known groups

Functions for Lua modules (API)

[Quelltext bearbeiten]

The functions described above can be used by other modules per require() :

local lucky, PageAttributes = pcall( require, "Module:PageAttributes" )
if type( PageAttributes ) == "table" then
    PageAttributes = PageAttributes()
else
    -- failure; PageAttributes is the error message
    return "<span class=\"error\">" .. PageAttributes .. "</span>"
end

Then there is available:

PageAttributes.f(ask,another)
Query for a single page
ask
group = submodule name
(mandatory)
another
Page identification
  • string – page name, also with first character # and digits only following as page nummer
  • number – page nummer
  • table – mw.title
default: current page
Returns:
assigned attribute value
string, number, boolean, nil
false if nothing assigned
nil if unknown group
PageAttributes.failsafe( atleast )
Version management
Returns: string oder false

Dependencies

[Quelltext bearbeiten]

None.