Modul:Telemavsum nomi
Bu modul uchun Modul:Telemavsum nomi/doc nomli hujjat sahifasini yaratishingiz mumkin
function qavs(yozuv) return "("..yozuv..")" end
--
function maqolaMavjudmi(yozuv)
local maqola = mw.title.new(yozuv)
if (maqola ~= nil and maqola.exists) then
local moljal = maqola.redirectTarget
if (moljal) then
local tamBag = moljal.fullText
local sarlavhaMi = tamBag:find("#")
if (sarlavhaMi) then
return "true"
else
return nil
end
else
return "true"
end
else
return nil
end
end
function ishoratQosh(ishorat, yozuv)
return "[[" .. ishorat .. "|" .. yozuv .. "]]"
end
function serialNomi(yozuv, par)
local teleserial = mw.ustring.gsub( yozuv, "%(.*", "" )
teleserial = mw.ustring.gsub( teleserial, "%|.*", "" )
teleserial = mw.ustring.gsub( teleserial, "%[", "" )
teleserial = mw.ustring.gsub( teleserial, "%]", "" )
if mavsumSoniniTop(yozuv).qosh and mw.ustring.find(mavsumSoniniTop(yozuv).qosh, "teleserial,%s%d%d%d%d") then
teleserial = teleserial .. (par and qavs(mavsumSoniniTop(yozuv).qosh) or "")
end
if mw.ustring.find(teleserial, ":%s") then
teleserial = mw.ustring.gsub( yozuv, "%:.*", "" )
end
return teleserial
end
function mavsumSoniniTop(yozuv)
local mavsumSoni = mw.ustring.gsub( mw.ustring.gsub( yozuv, ".*%(", "" ), "%).*", "" )
local mavsumQosh
mavsumSoni = mw.ustring.gsub( mavsumSoni, "%-mavsum", "" )
if type(tonumber(mavsumSoni)) ~= "number" then
mavsumQosh = mw.ustring.gsub( mavsumSoni, "%,[^,]-$", "" )
mavsumSoni = mw.ustring.gsub( mavsumSoni, ".*%,[%s]", "" )
end
return {no = tonumber(mavsumSoni), qosh = mavsumQosh}
end
function noKeyingisi(yozuv)
return tonumber(mavsumSoniniTop(yozuv).no) and mavsumSoniniTop(yozuv).no + 1 or ""
end
function noAvvalgisi(yozuv)
return tonumber(mavsumSoniniTop(yozuv).no) and mavsumSoniniTop(yozuv).no - 1 or ""
end
function qismlarRoyxati(frame)
local yozuv = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
return maqolaMavjudmi(serialNomi(yozuv, true) .. " qismlari roʻyxati")
and ishoratQosh(serialNomi(yozuv, true) .. " qismlari roʻyxati", "''" .. serialNomi(yozuv) .. "'' qismlari")
end
function avvalgisi(frame)
local yozuv = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
local sahifa = serialNomi(yozuv)
.. qavs((mavsumSoniniTop(yozuv).qosh and mavsumSoniniTop(yozuv).qosh..", " or "")
.. noAvvalgisi(yozuv) .. "-mavsum")
local acik = noAvvalgisi(yozuv) .. "-mavsum"
return maqolaMavjudmi(sahifa) and ishoratQosh(sahifa, acik) or nil
end
function hozirgisi(frame)
local teleserial = serialNomi(mw.getCurrentFrame().args[1])
local mavsum = mw.getCurrentFrame().args[2]
local natija
if maqolaMavjudmi(mw.ustring.gsub( teleserial, "%)", "" ) .. ", " .. mavsum .. "-mavsum)") then
natija = mw.ustring.gsub( teleserial, "%)", "" ) .. ", " .. mavsum .. "-mavsum)"
else
teleserial = mw.ustring.gsub( teleserial, "%(.*", "" )
natija = teleserial .. " " .. qavs(mavsum .. "-mavsum")
end
return ishoratQosh(natija, "''" .. mw.ustring.gsub( teleserial, "%(.*", "" ) .. "'' " .. qavs(mavsum .. "-mavsum"))
end
function keyingisi(frame)
local yozuv = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
local sahifa = serialNomi(yozuv)
.. qavs((mavsumSoniniTop(yozuv).qosh and mavsumSoniniTop(yozuv).qosh..", " or "")
.. noKeyingisi(yozuv) .. "-mavsum")
local acik = noKeyingisi(yozuv) .. "-mavsum"
return maqolaMavjudmi(sahifa) and ishoratQosh(sahifa, acik) or nil
end
function mavsumSoni(frame)
local yozuv = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
local onek = ""
if mavsumSoniniTop(yozuv).qosh then
onek = mw.ustring.find(mavsumSoniniTop(yozuv).qosh, "teleserial") and "" or mavsumSoniniTop(yozuv).qosh .. ", "
end
return onek .. (mavsumSoniniTop(yozuv).no or "") .. "-mavsum"
end
function sarlavha(frame)
local yozuv = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
local turkum = {}
if maqolaMavjudmi("Turkum:" .. serialNomi(yozuv, true) .. " mavsumlari") then
table.insert(turkum, "[[Turkum:".. serialNomi(yozuv, true) .. " mavsumlari]]")
end
return serialNomi(yozuv) .. table.concat(turkum)
end
-- turkum
function sana(frame)
local sana = mw.getCurrentFrame().args[1]
local turi = mw.getCurrentFrame().args[2]
local turlari = {["mavsum"] = "mavsumlari", ["qism"] = "qismlari"}
local turkum = {}
if mw.ustring.find(sana, "%d%d%d%d") and mw.title.getCurrentTitle().nsText ~= "Andoza" then
table.insert(turkum, "[[Turkum:".. mw.ustring.match(sana, "%d%d%d%d") .. " televizion " .. turlari[turi] .. "]]")
end
return sana .. table.concat(turkum)
end
return {
sana = sana,
sarlavha = sarlavha,
mavsumSoni = mavsumSoni,
qismlarRoyxati = qismlarRoyxati,
avvalgisi = avvalgisi,
keyingisi = keyingisi,
hozirgisi = hozirgisi
}