تضامنًا مع حق الشعب الفلسطيني |
وحدة:ملعب/وهراني/QS
اذهب إلى التنقل
اذهب إلى البحث
توثيق الوحدة[أنشئ] [محو الاختزان][استخدامات] [قوالب]
local p = {}
function p.make(args)
local qsCommand
if(args.qid) then qsCommand = {'$1 $4 $3'}
else qsCommand=
{
'CREATE'
,'LAST Lar "$2"'
,'LAST Len "Category:Pages using Wikidata property $1"'
,'LAST Lfr "Catégorie:Page utilisant $2"'
,'LAST Sarwiki "$2"'
,'LAST P31 Q4167836'
,'LAST P1659 $1'
,'LAST P971 Q24514938'
,'LAST P971 Q40218570'
}
end
-- convert QS table to a string
local QS = '' -- quick_statements final string
if #qsCommand>0 then
local qsHeader = 'https://tools.wmflabs.org/quickstatements/#v1='
local qsWrapper = ' [[File:Commons_to_Wikidata_QuickStatements.svg|15px|link=%s]]'
QS = mw.ustring.gsub(table.concat( qsCommand, '||'), '\t', "|")
QS = mw.ustring.gsub(QS, '$1', args.property or "")
QS = mw.ustring.gsub(QS, '$2', args.pagename or "")
QS = mw.ustring.gsub(QS, '$3', args.qid or "")
QS = mw.ustring.gsub(QS, '$4', args.property2 or "P2875")
QS = mw.uri.encode(QS,'PATH')
QS = string.format(qsWrapper, qsHeader .. QS)
end
return QS
end
function p.main(frame)
-- switch to lowercase parameters to make them case independent
local args = {}
for name, value in pairs( frame:getParent().args ) do
if value ~= '' then -- nuke empty strings
local name1 = string.gsub( string.lower(name), ' ', '_')
args[name1] = value
end
end
for name, value in pairs( frame.args ) do
if value ~= '' then -- nuke empty strings
local name1 = string.gsub( string.lower(name), ' ', '_')
args[name1] = value
end
end
-- call the inner "core" function
--mw.logObject(args)
if(type(args.property) == 'string'
and (type(args.qid) == 'string' or type(args.pagename) == 'string'))
then
return p.make(args)
end
return nil
end
return p