Модуль:Песочница/Менделеевец99/FIO2
Функции
[править код]F=«Песочница/Менделеевец99/FIO2»;
FI=«»;
FIO=«»;
d_i=1:j=1,j=2,j=3,j=4,
Примеры
[править код]PageInfo=«page "Модуль:Песочница/Менделеевец99/FIO2" exists.
fullUrl=//ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2
partialUrl=%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2
localUrl=/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2
getContent=<nowiki>-------------------------------------------------------------------------------- -- Module:FIO2 configuration data -- -- This page holds localization and configuration data for Module:FIO2. --
local cfg = {} -- Don't edit this line.
-- Start configuration data --
cfg.templates = {'[сС]писок однофамильцев.т[ёе]зок','[сС]писок однофамильцев', '[сС]писок т[ёе]зок','[сС]писок полных т[ёе]зок','[нН]еоднозначность[^}]*[оО]днофамильцы', '[нН]еоднозначность[^}]*[фФ]амилии','[мМ]ногозначность[^}]*[оО]днофамильцы', '[мМ]ногозначность[^}]*[фФ]амилии','[dD]isambig[^}]*[оО]днофамильцы', '[dD]isambig[^}]*[фФ]амилии' } cfg.utochn={, 'значения', 'фамилия', 'персоналии'}
-- End configuration data --
-- Load config. --local cfg = mw.loadData('Module:Песочница/Менделеевец99/FIO2/config') local page={ --object, ['Title']=, ['FIO']=, ['FI']=, ['F']=, ['Type']= --[[ []=, []=, []= --]] } local function lIsDisambig(name) local d='d_' local Disambig --local r=false local t=cfg.templates if name== then return r end local title = mw.title.new(name) if title.exists then if not title.isRedirect then local fullContent = title:getContent() local i for i=1,#t do d=d..tostring(i)..':' Disambig = mw.ustring.match(fullContent, '\{\{'..t[i]) if Disambig~=nil then break end end end end return Disambig, d end; local function lF (title)
local s=title local n=mw.ustring.find(s,',',1,true) or 0 if (n>0) then s=mw.ustring.sub(s, 1, n-1) end return s
end; local function lFI (title)
local t=mw.text.split(title,' ',true) local st if #t>1 then st=t[1]..' '..t[2] else st= end return st
end; local function Title2FIO (title) local st=title local n=mw.ustring.find(title,' (',1,true) or 0
if (n>0) then st=mw.ustring.sub(st, 1, n-1) end st=mw.text.trim(st)
return st end local function lFIO (title)
local st=title local n=mw.ustring.find(st,' (',1,true) or 0 if (n>0) then st=mw.ustring.sub(st, 1, n-1) end st=mw.text.trim(st) local t=mw.text.split(st,' ',true) if #t<3 then st= end return st
end; local function Names(Title) local t= {}; local s=lF(Title) if s~= then t[#t+1]=s end s=lFI(Title) if s~= then t[#t+1]=s end s=lFIO(Title) if s~= then t[#t+1]=s end return t end local function NamesD(Names) local d='d_' local r={} local i, s, u local ut=cfg.utochn for i=1,#Names do s=Names[i] d=d..'i='..tostring(i)..':' local j for j=1,#ut do u=ut[j] if u~= then u=' ('..u..')' end s=s..u d=d..'j='..tostring(j)..',' if lIsDisambig(s)~=nil then r[#r+1]=s break end end end --if r[#r]==page.Title then end return r, d end local function PageInfo(Title) local s= local title = mw.title.new(Title) if title.exists then s='page "'..Title..'" exists.' s=s..'\n\nfullUrl='..title:fullUrl() s=s..'\n\npartialUrl='..title:partialUrl() s=s..'\n\nlocalUrl='..title:localUrl() s=s..'\n\ncanonicalUrl='..title:canonicalUrl() s=s..'\n\ngetContent='..'<nowiki>'..title:getContent()..'</nowiki>' --s=s..'\nid='..tostring(title.id()) --: The page_id. 0 if the page does not exist. This may be expensive, and the page will be recorded as a link. -- s=s..'\ninterwiki='..title:interwiki()--: The interwiki prefix, or the empty string if none. -- s=s..'\nnamespace='..title:namespace() --: The namespace number. -- s=s..'\nfragment='..title:fragment() --: The fragment, or the empty string. May be assigned. -- s=s..'\nnsText='..title:nsText() --: The text of the namespace for the page. -- s=s..'\nsubjectNsText='..title:subjectNsText() --: The text of the subject namespace for the page. -- s=s..'\ntext='..title:text() --: The title of the page, without the namespace or interwiki prefixes. -- s=s..'\nprefixedText='..title:prefixedText() --: The title of the page, with the namespace and interwiki prefixes.
else s='page "'..Title..'" is not exist.' end
return s end local p = { main=function (f)
--return tFIO(f) local s=f.args[1] return PageInfo(s)
end; wikilink=function (frame)
return "Иванов"
end; F=function (f) local s=f.args[1]
return lF(s)
end; FI=function (f) local s=f.args[1]
return lFI(s)
end; FIO=function (f) local s=f.args[1]
return lFIO(s)
end; tFIO=function (f) local a=Names(f.args[1]) local t, d= NamesD(a) local i local b=0 local r= --if r[#r]==page.Title then end if r[#r]==a then b=1 end for i=1,#t-1-b do r=r..'[['..t[i]..']]'..'; ' end if #t-b>0 then r=r..'[['..t[#t-b]..']]' end if r~= then r='В Википедии есть статьи о других людях с такой фамилией, см. '..r..'.' end
return r..' '..d
end;
IsDisambig=function(f)
local s=f.args[1]
local b, d = lIsDisambig(s)
if b==nil then b='nil' end
if d==nil then d='nil' end
return b..' '..d
end;
Content=function(f)
local st=f.args[1]
local title = mw.title.new(st)
local disambig = false
local fullContent =
if title.exists then
fullContent = title:getContent()
processedContent = f:preprocess(
fullContent
:gsub('<noinclude>', )
:gsub('</noinclude>', )
:gsub('<onlyinclude>', )
:gsub('</onlyinclude>', ))
if processedContent:match('id="disambig"') then
disambig = true
end
end
return 'fullContent =\n'..'<nowiki>'..fullContent..'</nowiki>'
end;
ShowTemplates= function(f)
local r='{\n'
local i, s
local t=cfg.templates
for i=1,#t-1 do
s=t[i]
mw.log(s)
r=r..'"'..s..'", '
end
r=r..'"'..s..'"\n} --'..tostring(#t)..' items.'
--MsgBox('MsgBox ShowTemplates')
return r
end
}
return p</nowiki>»;
ShowTemplates=«{
"[сС]писок однофамильцев.т[ёе]зок", "[сС]писок однофамильцев", "[сС]писок т[ёе]зок", "[сС]писок полных т[ёе]зок", "[нН]еоднозначность[^}]*[оО]днофамильцы", "[нН]еоднозначность[^}]*[фФ]амилии", "[мМ]ногозначность[^}]*[оО]днофамильцы", "[мМ]ногозначность[^}]*[фФ]амилии", "[dD]isambig[^}]*[оО]днофамильцы", "[dD]isambig[^}]*[оО]днофамильцы"
} --10 items.»;
Абрамова
[править код]F=«Абрамова»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|фамилии»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|фамилии d_1:2:3:4:5:6:»;
F=«Абрамова»;
FI=«Абрамова, Ольга»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова; Абрамова, Ольга. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{список однофамильцев-тёзок d_1:»;
F=«Абрамова»;
FI=«Абрамова, Ольга»;
FIO=«Абрамова, Ольга Валерьевна»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова; Абрамова, Ольга. d_i=1:j=1,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
Воробьёв
[править код]F=«Воробьёв»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;
F=«Воробьёв»;
FI=«Воробьёв, Иван»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв; Воробьёв, Иван. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
F=«Воробьёв»;
FI=«Воробьёв, Иван»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв; Воробьёв, Иван. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{Список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{Список однофамильцев-тёзок d_1:»;
Дудник
[править код]F=«Дудник»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения). d_i=1:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Дудник (значения)»;
FI=«Дудник (значения)»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник (значения). d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|фамилии»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|фамилии d_1:2:3:4:5:6:»;
F=«Дудник»;
FI=«Дудник, Андрей»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник, Андрей. d_i=1:j=1,j=2,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{список однофамильцев-тёзок d_1:»;
F=«Дудник»;
FI=«Дудник, Андрей»;
FIO=«Дудник, Андрей Романович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник, Андрей. d_i=1:j=1,j=2,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
Иванов
[править код]F=«Иванов»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;
F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;
F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«Иванов, Александр Александрович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр; Иванов, Александр Александрович. d_i=1:j=1,i=2:j=1,i=3:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«Иванов, Александр Александрович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр; Иванов, Александр Александрович. d_i=1:j=1,i=2:j=1,i=3:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{Список полных тёзок»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{Список полных тёзок d_1:2:3:4:»;
Крюкова
[править код]F=«Крюкова»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;
F=«Крюкова»;
FI=«Крюкова, Ольга»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова; Крюкова, Ольга. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{Список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{Список однофамильцев-тёзок d_1:»;
F=«Крюкова»;
FI=«Крюкова, Ольга»;
FIO=«Крюкова, Ольга Петровна»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова; Крюкова, Ольга. d_i=1:j=1,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
Тринкер
[править код]F=«Тринкер»;
FI=«»;
FIO=«»;
tFIO= d_i=1:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
F=«Тринкер»;
FI=«Тринкер, Борис»;
FIO=«»;
tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
F=«Тринкер»;
FI=«Тринкер, Борис»;
FIO=«Тринкер, Борис Давидович»;
tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
Юсупов
[править код]F=«Юсупов»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{список однофамильцев d_1:2:»;
F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{Список полных тёзок»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{Список полных тёзок d_1:2:3:4:»;
Пост
[править код]F=«Пост»;
FI=«»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;
F=«Пост»;
FI=«Пост, Альберт»;
FIO=«»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
F=«Пост»;
FI=«Пост, Альберт»;
FIO=«Пост, Альберт Герман»;
tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Рюрик Ростиславич (князь перемышльский)»;
FI=«Рюрик Ростиславич»;
FIO=«»;
tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_1:2:3:4:5:6:7:8:9:10:»;
F=«Рюрик Ростиславич)»;
FI=«Рюрик Ростиславич)»;
FIO=«»;
tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}}
disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»;
=«nil d_»;
Статические методы
[править код]Методы
[править код]См. также
[править код]--------------------------------------------------------------------------------
-- Module:FIO2 configuration data --
-- This page holds localization and configuration data for Module:FIO2. --
--------------------------------------------------------------------------------
local cfg = {} -- Don't edit this line.
--------------------------------------------------------------------------------
-- Start configuration data --
--------------------------------------------------------------------------------
cfg.templates = {'[сС]писок однофамильцев.т[ёе]зок','[сС]писок однофамильцев',
'[сС]писок т[ёе]зок','[сС]писок полных т[ёе]зок','[нН]еоднозначность[^}]*[оО]днофамильцы',
'[нН]еоднозначность[^}]*[фФ]амилии','[мМ]ногозначность[^}]*[оО]днофамильцы',
'[мМ]ногозначность[^}]*[фФ]амилии','[dD]isambig[^}]*[оО]днофамильцы',
'[dD]isambig[^}]*[фФ]амилии'
}
cfg.utochn={'', 'значения', 'фамилия', 'персоналии'}
--------------------------------------------------------------------------------
-- End configuration data --
--------------------------------------------------------------------------------
-- Load config.
--local cfg = mw.loadData('Module:Песочница/Менделеевец99/FIO2/config')
local page={
--object,
['Title']='',
['FIO']='',
['FI']='',
['F']='',
['Type']=''
--[[ ['']='',
['']='',
['']=''
--]]
}
local function lIsDisambig(name)
local d='d_'
local Disambig
--local r=false
local t=cfg.templates
if name=='' then return r end
local title = mw.title.new(name)
if title.exists then
if not title.isRedirect then
local fullContent = title:getContent()
local i
for i=1,#t do
d=d..tostring(i)..':'
Disambig = mw.ustring.match(fullContent, '\{\{'..t[i])
if Disambig~=nil then break end
end
end
end
return Disambig, d
end;
local function lF (title)
local s=title
local n=mw.ustring.find(s,',',1,true) or 0
if (n>0) then s=mw.ustring.sub(s, 1, n-1) end
return s
end;
local function lFI (title)
local t=mw.text.split(title,' ',true)
local st
if #t>1 then st=t[1]..' '..t[2] else st='' end
return st
end;
local function Title2FIO (title)
local st=title
local n=mw.ustring.find(title,' (',1,true) or 0
if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
st=mw.text.trim(st)
return st
end
local function lFIO (title)
local st=title
local n=mw.ustring.find(st,' (',1,true) or 0
if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
st=mw.text.trim(st)
local t=mw.text.split(st,' ',true)
if #t<3 then st='' end
return st
end;
local function Names(Title)
local t= {};
local s=lF(Title)
if s~='' then t[#t+1]=s end
s=lFI(Title)
if s~='' then t[#t+1]=s end
s=lFIO(Title)
if s~='' then t[#t+1]=s end
return t
end
local function NamesD(Names)
local d='d_'
local r={}
local i, s, u
local ut=cfg.utochn
for i=1,#Names do
s=Names[i]
d=d..'i='..tostring(i)..':'
local j
for j=1,#ut do
u=ut[j] if u~='' then u=' ('..u..')' end
s=s..u
d=d..'j='..tostring(j)..','
if lIsDisambig(s)~=nil then
r[#r+1]=s
break
end
end
end
--if r[#r]==page.Title then end
return r, d
end
local function PageInfo(Title)
local s=''
local title = mw.title.new(Title)
if title.exists then
s='page "'..Title..'" exists.'
s=s..'\n\nfullUrl='..title:fullUrl()
s=s..'\n\npartialUrl='..title:partialUrl()
s=s..'\n\nlocalUrl='..title:localUrl()
s=s..'\n\ncanonicalUrl='..title:canonicalUrl()
s=s..'\n\ngetContent='..'<nowiki>'..title:getContent()..'</nowiki>'
--s=s..'\nid='..tostring(title.id()) --: The page_id. 0 if the page does not exist. This may be expensive, and the page will be recorded as a link.
-- s=s..'\ninterwiki='..title:interwiki()--: The interwiki prefix, or the empty string if none.
-- s=s..'\nnamespace='..title:namespace() --: The namespace number.
-- s=s..'\nfragment='..title:fragment() --: The fragment, or the empty string. May be assigned.
-- s=s..'\nnsText='..title:nsText() --: The text of the namespace for the page.
-- s=s..'\nsubjectNsText='..title:subjectNsText() --: The text of the subject namespace for the page.
-- s=s..'\ntext='..title:text() --: The title of the page, without the namespace or interwiki prefixes.
-- s=s..'\nprefixedText='..title:prefixedText() --: The title of the page, with the namespace and interwiki prefixes.
else
s='page "'..Title..'" is not exist.'
end
return s
end
local p = {
main=function (f)
--return tFIO(f)
local s=f.args[1]
return PageInfo(s)
end;
wikilink=function (frame)
return "[[Иванов]]"
end;
F=function (f)
local s=f.args[1]
return lF(s)
end;
FI=function (f)
local s=f.args[1]
return lFI(s)
end;
FIO=function (f)
local s=f.args[1]
return lFIO(s)
end;
tFIO=function (f)
local a=Names(f.args[1])
local t, d= NamesD(a)
local i
local b=0
local r=''
--if r[#r]==page.Title then end
if r[#r]==a then b=1 end
for i=1,#t-1-b do
r=r..'[['..t[i]..']]'..'; '
end
if #t-b>0 then r=r..'[['..t[#t-b]..']]' end
if r~='' then
r='В Википедии есть статьи о других людях с такой фамилией, см. '..r..'.'
end
return r..' '..d
end;
IsDisambig=function(f)
local s=f.args[1]
local b, d = lIsDisambig(s)
if b==nil then b='nil' end
if d==nil then d='nil' end
return b..' '..d
end;
Content=function(f)
local st=f.args[1]
local title = mw.title.new(st)
local disambig = false
local fullContent =''
if title.exists then
fullContent = title:getContent()
processedContent = f:preprocess(
fullContent
:gsub('<noinclude>', '')
:gsub('</noinclude>', '')
:gsub('<onlyinclude>', '')
:gsub('</onlyinclude>', ''))
if processedContent:match('id="disambig"') then
disambig = true
end
end
return 'fullContent =\n'..'<nowiki>'..fullContent..'</nowiki>'
end;
ShowTemplates= function(f)
local r='{\n'
local i, s
local t=cfg.templates
for i=1,#t-1 do
s=t[i]
mw.log(s)
r=r..'"'..s..'", '
end
r=r..'"'..s..'"\n} --'..tostring(#t)..' items.'
--MsgBox('MsgBox ShowTemplates')
return r
end
}
return p