Modul:RO: Unterschied zwischen den Versionen

Aus ipsc.de
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:
  local page = frame.args[1]
  local page = frame.args[1]
  local jahr = frame.args[2]
  local jahr = frame.args[2]
local typ = frame.args[3]
  if not jahr then
  if not jahr then
   jahr = '%w+'
   jahr = '%w+'
end
if not typ then
  typ = '%wW'
  end
  end
  page = 'RO:' .. page
  page = 'RO:' .. page
Zeile 28: Zeile 32:
  pt = title:getContent()
  pt = title:getContent()
  local punkte = 0
  local punkte = 0
  for w in string.gmatch(pt, '| Punkte%s+%wW%s+'..jahr..'%s+=%s+(%d+)') do
  for w in string.gmatch(pt, '| Punkte%s+'..typ..'%s+'..jahr..'%s+=%s+(%d+)') do
   local num = tonumber(w)
   local num = tonumber(w)
   punkte = punkte + num
   punkte = punkte + num

Version vom 21. Dezember 2020, 17:17 Uhr

Die Dokumentation für dieses Modul kann unter Modul:RO/Doku erstellt werden

local p = {}

function p.next(frame)
 local page = frame.args[1]
 title  = mw.title .new(page)
 pt = title:getContent()
 local match = os.date('%y')..'%-%d%d%-(%d%d+)'
 local new = 1
 for w in string.gmatch(pt, match) do
  local num = tonumber(w)
  if num >= new then
   new = num + 1
  end
 end
 local lv = tonumber(string.match(page, '%d+'))
 local out = os.date('%y')..'-'..string.format("%02i", lv)..'-'..string.format("%02i", new)
 return out
end

function p.punktesumme(frame)
 local page = frame.args[1]
 local jahr = frame.args[2]
 local typ = frame.args[3]
 if not jahr then
  jahr = '%w+'
 end
 if not typ then
  typ = '%wW'
 end
 page = 'RO:' .. page
 title  = mw.title .new(page)
 pt = title:getContent()
 local punkte = 0
 for w in string.gmatch(pt, '| Punkte%s+'..typ..'%s+'..jahr..'%s+=%s+(%d+)') do
  local num = tonumber(w)
  punkte = punkte + num
 end
 return punkte
end

return p