پودمان:Ayat-Navigator: تفاوت میان نسخه‌ها

از اسلامیکال
پرش به ناوبری پرش به جستجو
(sure_num+lengths)
(getData for lengths)
خط ۸: خط ۸:
--local cfg = mw.loadData('Module:Ayat-Navigator/configs')
--local cfg = mw.loadData('Module:Ayat-Navigator/configs')


local function getData(sure)
local function getData(sure, len)
if (len==true) then
return require('Module:Ayat-Navigator/Sure-Lengths')
end
local title = mw.title.new('Module:Ayat-Navigator/' .. sure)
local title = mw.title.new('Module:Ayat-Navigator/' .. sure)
if not (title and title.exists) then return nil end
if not (title and title.exists) then return nil end
خط ۲۱: خط ۲۵:
local sure_num = args["sure_num"]
local sure_num = args["sure_num"]


if getData(num_con("en", sure_num)) then
if getData(num_con("en", sure_num), false) then
local data = getData(num_con("en", sure_num))
local data = getData(num_con("en", sure_num), false)


if data.ayat_namdar then
if data.ayat_namdar then
خط ۴۳: خط ۴۷:
local sure = args["sure"]
local sure = args["sure"]
if getData(sure_num) then
if getData(sure_num, true) then
local data = getData(sure_num)
local data = getData(sure_num, true)
if tonumber(aye_num) then
if tonumber(aye_num) then
خط ۶۵: خط ۶۹:
local sure_num = args["sure_num"]
local sure_num = args["sure_num"]


if getData(num_con("en", sure_num)) then
if getData(num_con("en", sure_num), false) then
local data = getData(num_con("en", sure_num))
local data = getData(num_con("en", sure_num), false)
if data.mortabet then
if data.mortabet then

نسخهٔ ‏۵ ژوئن ۲۰۲۳، ساعت ۲۰:۳۱

توضیحات این پودمان می‌تواند در پودمان:Ayat-Navigator/توضیحات قرار گیرد.

require('strict')

local p = {}
local args = {}

local num_con = require('Module:Numeral converter').convert
local getArgs = require('Module:Arguments').getArgs
--local cfg = mw.loadData('Module:Ayat-Navigator/configs')

local function getData(sure, len)
	if (len==true) then
		return require('Module:Ayat-Navigator/Sure-Lengths')
	end
	
	local title = mw.title.new('Module:Ayat-Navigator/' .. sure)
		if not (title and title.exists) then return nil end
	return require('Module:Ayat-Navigator/' .. sure)
end

function p.named_gen(frame)
	local listitems = ""

	args = getArgs(frame)
	
	local sure_num = args["sure_num"]

	if getData(num_con("en", sure_num), false) then
		local data = getData(num_con("en", sure_num), false)

		if data.ayat_namdar then
			for k, v in pairs(data.ayat_namdar) do
				listitems = listitems .. '\n* ' .. v
			end
		end
	end
	
	return listitems
end

function p.ayat_gen(frame)
	local listitems = ""

	args = getArgs(frame)
	
	local aye_num = num_con("en", args["aye_num"])
	local sure_num = num_con("en", args["sure_num"])
	local sure = args["sure"]
	
	if getData(sure_num, true) then
		local data = getData(sure_num, true)
		
		if tonumber(aye_num) then
			for i = 1, tonumber(data.lengths[sure_num]) do
				listitems = listitems ..
					'\n* [[آیه ' .. num_con("fa", i) .. ' سوره ' .. sure .. '|'
					.. num_con("fa", i) .. ']]'
			end
		end
	end
	
	return listitems
end

function p.mortabet(frame)
	local listitems = ""

	args = getArgs(frame)
	
	local sure_num = args["sure_num"]

	if getData(num_con("en", sure_num), false) then
		local data = getData(num_con("en", sure_num), false)
		
		if data.mortabet then
			for k, v in pairs(data.mortabet) do
				listitems = listitems .. '\n* ' .. v
			end
		end
	end
	
	return listitems
end

return p