<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASignpost%2Findex</id>
	<title>Module:Signpost/index - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASignpost%2Findex"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Signpost/index&amp;action=history"/>
	<updated>2026-06-13T20:19:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Signpost/index&amp;diff=479445&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Signpost/index&amp;diff=479445&amp;oldid=prev"/>
		<updated>2021-07-16T06:02:06Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module processes data from [[Module:Signpost/index]], to be loaded from&lt;br /&gt;
-- [[Module:Signpost]] with mw.loadData.&lt;br /&gt;
&lt;br /&gt;
local PAGE_FORMAT = 'Wikipedia:Wikipedia Signpost/%s/%s'&lt;br /&gt;
local INDEX_START_YEAR = 2005&lt;br /&gt;
local INDEX_BASE = 'Module:Signpost/index/'&lt;br /&gt;
local ALIASES_MODULE = 'Module:Signpost/aliases'&lt;br /&gt;
local insert = table.insert&lt;br /&gt;
local format = string.format&lt;br /&gt;
&lt;br /&gt;
local function makePageName(date, subpage)&lt;br /&gt;
	return format(PAGE_FORMAT, date, subpage)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addSubtable(tIn, tOut, key)&lt;br /&gt;
	tOut[key] = tOut[key] or {}&lt;br /&gt;
	insert(tOut[key], tIn)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function maybeRequire(page)&lt;br /&gt;
	local success, module = pcall(require, page)&lt;br /&gt;
	if success then&lt;br /&gt;
		return module&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getYearIndexes()&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for i = INDEX_START_YEAR, os.date('*t').year + 1 do&lt;br /&gt;
		local module = maybeRequire(INDEX_BASE .. tostring(i))&lt;br /&gt;
		insert(ret, module)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeAliases()&lt;br /&gt;
	local aliasData = require(ALIASES_MODULE)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for key, aliases in pairs(aliasData) do&lt;br /&gt;
		for i, alias in ipairs(aliases) do&lt;br /&gt;
			ret[alias] = key&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function main()&lt;br /&gt;
	local list, dates, tags, pages = {}, {}, {}, {}&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for j, index in ipairs(getYearIndexes()) do&lt;br /&gt;
		for k, t in ipairs(index) do&lt;br /&gt;
			i = i + 1&lt;br /&gt;
			t.sortKey = i&lt;br /&gt;
			local date = t.date&lt;br /&gt;
			local page = makePageName(date, t.subpage)&lt;br /&gt;
			t.page = page&lt;br /&gt;
			list[i] = t&lt;br /&gt;
			addSubtable(t, dates, date)&lt;br /&gt;
			for l, tag in ipairs(t.tags) do&lt;br /&gt;
				addSubtable(t, tags, tag)&lt;br /&gt;
			end&lt;br /&gt;
			pages[page] = t&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return {&lt;br /&gt;
		list = list,&lt;br /&gt;
		dates = dates,&lt;br /&gt;
		tags = tags,&lt;br /&gt;
		pages = pages,&lt;br /&gt;
		aliases = makeAliases()&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return main()&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>