Khác biệt giữa bản sửa đổi của “Mô đun:Status”

Nội dung được xóa Nội dung được thêm vào
nKhông có tóm lược sửa đổi
nKhông có tóm lược sửa đổi
Dòng 1:
-- Initialise necessary modules and objects
local Object = require('Module:Classic')
-- local CountVotes = require('Module:CountVotes')._main -- _main nhận title
local lang = mw.language.getContentLanguage()
 
Hàng 59 ⟶ 60:
local Status = Object:extend()
 
function Status:new(args, cfg...)
local args, cfg = unpack({...})
 
-- Set cfg
self.cfg = cfg
 
Hàng 70 ⟶ 74:
 
-- Set maxTime
self.maxTime = self.startTime + Helper:dayToSecond_getMaxTime(tonumber(args.max) or cfg.DEFAULT_MAX.)
end
 
function Status:_getMaxTime(...)
local args, cfg, title = unpack({...})
if title then
return self.startTime + Helper:dayToSecond(tonumber(args.max)
or (cfg.rootTitles[title.rootText] or {}).max or cfg.DEFAULT_MAX)
end
return self.startTime + Helper:dayToSecond(tonumber(args.max) or cfg.DEFAULT_MAX)
end
 
function Status:_getMinTime(...)
local _, cfg, title = unpack({...})
return self.startTime + Helper:dayToSecond((cfg.rootTitles[title.rootText] or {}).min or cfg.DEFAULT_MIN)
end
 
function Status:_getConsiderExtensionTime(...)
local _, cfg, title = unpack({...})
return self.startTime + Helper:dayToSecond((cfg.rootTitles[title.rootText] or {}).considerExtension
or cfg.DEFAULT_CONSIDER_EXTENSION)
end
 
function Status:_getExtendedTime(...)
local _, cfg, title = unpack({...})
return self.startTime + Helper:dayToSecond((cfg.rootTitles[title.rootText] or {}).extended
or cfg.DEFAULT_EXTENDED)
end
 
Hàng 108 ⟶ 138:
 
return tostring(span)
end
 
--------------------------------------------------------------------------------
-- StatusWithMinTime class
--------------------------------------------------------------------------------
 
local StatusWithMinTime = Status:extend()
 
function StatusWithMinTime:new(...)
StatusWithMinTime.super.new(self, ...)
local _, cfg, title = unpack({...})
 
-- Set minTime
self.minTime = self:_getMinTime(...)
 
-- Set positiveVotesNumber & negativeVotesNumber
self.positiveVotesNumber, self.negativeVotesNumber = CountVotes(title) -- Chưa có module CountVotes
 
-- Set checkSuccessConclusionFunc
self.checkSuccessConclusionFunc = (cfg.rootTitles[title.rootText] or {}).checkSuccessConclusionFunc
end
 
function StatusWithMinTime:_getInfo()
 
end
 
function StatusWithMinTime:_getParams()
 
end
 
--------------------------------------------------------------------------------
-- StatusWithExtendedTime class
--------------------------------------------------------------------------------
 
local StatusWithExtendedTime = Status:extend()
 
function StatusWithExtendedTime:new(...)
StatusWithExtendedTime.super.new(self, ...)
local _, cfg, title = unpack({...})
 
-- Set considerExtensionTime
self.considerExtensionTime = self:_getConsiderExtensionTime(...)
 
-- Set extendedTime
self.extendedTime = self:_getExtendedTime(...)
 
-- Set positiveVotesNumber & negativeVotesNumber
self.positiveVotesNumber, self.negativeVotesNumber = CountVotes(title)
 
-- Set checkValidExtensionFunc
self.checkValidExtensionFunc = (cfg.rootTitles[title.rootText] or {}).checkValidExtensionFunc
end
 
function StatusWithExtendedTime:_getInfo()
 
end
 
function StatusWithExtendedTime:_getParams()
 
end
 
--------------------------------------------------------------------------------
-- StatusWithMinTimeAndExtendedTime class
--------------------------------------------------------------------------------
 
local StatusWithMinTimeAndExtendedTime = Status:extend()
 
function StatusWithMinTimeAndExtendedTime:new(...)
StatusWithMinTimeAndExtendedTime.super.new(self, ...)
local _, cfg, title = unpack({...})
 
-- Set minTime
self.minTime = self:_getMinTime(...)
 
-- Set considerExtensionTime
self.considerExtensionTime = self:_getConsiderExtensionTime(...)
 
-- Set extendedTime
self.extendedTime = self:_getExtendedTime(...)
 
-- Set positiveVotesNumber & negativeVotesNumber
self.positiveVotesNumber, self.negativeVotesNumber = CountVotes(title)
 
-- Set checkSuccessConclusionFunc
self.checkSuccessConclusionFunc = (cfg.rootTitles[title.rootText] or {}).checkSuccessConclusionFunc
 
-- Set checkValidExtensionFunc
self.checkValidExtensionFunc = (cfg.rootTitles[title.rootText] or {}).checkValidExtensionFunc
end
 
function StatusWithMinTimeAndExtendedTime:_getInfo()
 
end
 
function StatusWithMinTimeAndExtendedTime:_getParams()
 
end
 
Hàng 126 ⟶ 252:
args = args or {}
cfg = cfg or require(CONFIG_MODULE)
 
local statusObj = Status(args, cfg)
local statusObj = {}
 
if args.id then
if mw.text.trim(args.id) ~= '' and tonumber(args.id) then
local title = mw.title.new(tonumber(args.id))
local group = (cfg.rootTitles[title.rootText] or {}).group
 
if group == 1 then
statusObj = StatusWithMinTime(args, cfg, title)
elseif group == 2 then
statusObj = StatusWithExtendedTime(args, cfg, title)
elseif group == 3 then
statusObj = StatusWithMinTimeAndExtendedTime(args, cfg, title)
else
error('khu vực không được hỗ trợ')
end
else
error('id không rỗng và id phải là số')
end
else
statusObj = Status(args, cfg)
end
 
return statusObj:makeSpan()
end