모듈:Professional wrestling profiles
보이기
이 모듈의 자세한 설명은 en:Module:Professional_wrestling_profiles/doc 항목을 참고하십시오.
local getArgs = require('Module:Arguments').getArgs
function getpropertyvalue(ent, prop)
local id = nil;
if (ent and prop) then value = ent:getBestStatements(prop)[1] else return nil end
if value then return value["mainsnak"]["datavalue"]["value"] end;
end
function getpropertyvaluewithdefaultvalues(ent, prop, value1, value2)
return value1 or value2 or getpropertyvalue(ent, prop);
end
function getname(frame, name1, name2)
return name1 or name2 or frame:expandTemplate{title = 'PAGENAMEBASE'};
end
function getexternallink(frame, linkformat, urlformat, prop, cat)
local args = getArgs(frame);
local id = args[1] or args["id"];
if (not id and prop) then id = getpropertyvalue(mw.wikibase.getEntityObject(), prop); end;
if not id then return cat end
local name = getname(frame, args[2], args["name"]);
local url = string.format(urlformat, id);
local code = string.format(linkformat, url, name);
return code;
end
local p = {}
function p.getpropertyvalue(frame)
local ent = mw.wikibase.getEntityObject();
local prop = frame.args[1];
return getpropertyvalue(ent, prop);
end
function p.cagematch(frame)
return getexternallink(frame, "[%s %s]의 프로필 - Cagematch.net", "https://www.cagematch.net/?id=2&nr=%s", 'P2728', "");
end
function p.wrestlingtitlespersonalities(frame)
return getexternallink(frame, "[%s %s]의 프로필 - Wrestling-Titles.com", "http://www.wrestling-titles.com/personalities/%s/", nil, "[[분류:id가 설정되지 않은 Wrestling Titles 틀]]");
end
function p.rohroster(frame)
return getexternallink(frame, "[%s %s]의 [[링 오브 아너]] 프로필", "http://www.rohwrestling.com/wrestlers/%s", nil, "");
end
function p.njpw(frame)
local args = getArgs(frame);
if args["newlink"] then return getexternallink(frame, "[%s %s]'s [[New Japan Pro-Wrestling]] profile", "http://www.njpw1972.com/profile/%s", nil, "");
else return getexternallink(frame, "[%s %s]'s [[New Japan Pro-Wrestling]] profile", "http://www.njpw.co.jp/english/data/detail_profile.php?f=%s", nil, "");
end
end
function p.gfw(frame)
return getexternallink(frame, "[%s %s]'s [[Global Force Wrestling]] profile", "http://globalforcewrestling.com/roster/%s/", nil, "");
end
function p.dragongateusa(frame)
return getexternallink(frame, "[%s %s] at the official [[Dragon Gate USA]] website", "http://dgusa.tv/bio/%s", nil, "");
end
function p.chikara(frame)
return getexternallink(frame, "[%s %s] at the official [[Chikara_(professional_wrestling)|Chikara]] website", "http://chikarapro.com/chikara-roster/%s", nil, "");
end
function p.profiles(frame)
local args = getArgs(frame);
local ent = mw.wikibase.getEntityObject();
local cagematchid = getpropertyvaluewithdefaultvalues(ent, 'P2728', args["cagematch"], nil);
local wrestlingdataid = getpropertyvaluewithdefaultvalues(ent, 'P2764', args["wrestlingdata"], nil);
local iwdid = getpropertyvaluewithdefaultvalues(ent, 'P2829', args["iwd"], nil);
if (not cagematchid) and (not wrestlingdataid) and (not iwdid) then return "[[분류:식별자가 없는 Professional wrestling profiles 틀]]" end
local name = getname(frame, args["name"], nil);
local text = name .. "의 프로필 - ";
if cagematchid then text = text .. "[https://www.cagematch.net/?id=2&nr=" .. cagematchid .. " Cagematch.net], " end
if wrestlingdataid then text = text .. "[http://wrestlingdata.com/index.php?befehl=bios&wrestler=" .. wrestlingdataid .. " Wrestlingdata.com], " end
if iwdid then text = text .. "[http://www.profightdb.com/wrestlers/" .. iwdid .. ".html 인터넷 레슬링 데이터베이스], " end
return string.sub(text, 1, -3);
end
return p