Jump to content

Module:Legislationuk/test

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Theknightwho (talk | contribs) at 07:54, 19 January 2022. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local p = {}

function p.main( frame )
	if frame:getParent().args[ 1 ] then args = frame:getParent().args else args = frame.args end
	local qid = ""
	local o = ""
	local leg = {}
	local legShort = ""
	local legLong = ""
	local legDate = ""
	local legCitation = ""
	for _,v in pairs( args ) do
		qid = args[ _ ]
		legShort = mw.wikibase.getBestStatements( qid, 'P1813' )
		for __,vv in ipairs( legShort ) do
			if legShort[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "language" ] == "en" then
				leg[ "legShort" ] = legShort[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "text" ]
			elseif legShort[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "language" ] == "cy" then
				leg[ "legShortCy" ] = legShort[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "text" ]
			end
		end
		legLong = mw.wikibase.getBestStatements( qid, 'P1448' )
		for __,vv in ipairs( legLong ) do
			if legLong[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "language" ] == "en" then
				leg[ "legLong" ] = legLong[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "text" ]
			elseif legLong[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "language" ] == "cy" then
				leg[ "legLongCy" ] = legLong[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ][ "text" ]
			end
		end
		legDate = mw.ustring.sub( mw.wikibase.getBestStatements( qid, 'P7589' )[1][ "mainsnak" ][ "datavalue" ][ "value" ][ "time" ], 2, 11 )
		leg[ "legDate" ] = os.time { day = tonumber( mw.ustring.sub( legDate, 9, 10 ) ), month = tonumber( mw.ustring.sub( legDate, 6, 7 ) ), year = tonumber( mw.ustring.sub( legDate, 1, 4 ) ) }
		legCitation = mw.wikibase.getBestStatements( qid, 'P1031' )
		for __,vv in ipairs( legCitation ) do
			if legCitation[ __ ][ "qualifiers" ][ "P407" ] ~= nil then
				for ___,vvv in ipairs( legCitation[ __ ][ "qualifiers" ][ "P407" ] ) do
					if legCitation[ __ ][ "qualifiers" ][ "P407" ][ ___ ][ "datavalue" ][ "value" ][ "id" ] == "Q1860" then
						leg[ "legCitation" ] = legCitation[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ]
					elseif legCitation[ __ ][ "qualifiers" ][ "P407" ][ ___ ][ "datavalue" ][ "value" ][ "id" ] == "Q9309" then
						leg[ "legCitationCy" ] = legCitation[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ]
					end
				end
			else
				leg[ "legCitation" ] = legCitation[ __ ][ "mainsnak" ][ "datavalue" ][ "value" ]
			end
		end
	end
	o = leg[ "legCitationCy" ]
	return o
end

return p