Module:Wd: Difference between revisions

Content deleted Content added
Adapted the rank flags system a bit
Adapted the period flags system likewise
Line 75:
cfg.flagRank = false
cfg.periods = {true, true, true} -- future = true, current = true, former = true
cfg.period = 0
cfg.flagPeriod = false
cfg.mdyDate = false
Line 844 ⟶ 846:
self.ranks[rankPos] = true
end
end
 
function Config:setPeriod(period)
local periodPos
elseifif self.period == 2"future" then
periodPos = 1
elseif flagperiod == "current" then
periodPos = 2
elseif flagperiod == "former" then
periodPos = 3
else
return true
end
-- one of the period flags was given, check if another one was given before
elseifif not self.period == 3flagPeriod then
self.periods = {false, false, false} -- no other period flag given before, so unset periods
self.flagPeriod = true -- mark that a period flag was given
end
self.periods[periodPos] = true
end
 
Line 874 ⟶ 898:
self:setRank(flag)
return true
elseif flag == "future" or flag == "current" or flag == "former" then
self.period = 1:setPeriod(flag)
return true
elseif flag == "current" then
self.period = 2
return true
elseif flag == "former" then
self.period = 3
return true
elseif flag == "" then
Line 950 ⟶ 968:
local endTimeD = nil
if self.periodperiods[1] ==and 0self.periods[2] and self.periods[3] then
-- any time
return true
Line 980 ⟶ 998:
end
if self.period == periods[1] then
-- future
if startTimeY == nil or notand datePrecedesDate(now['year'], now['month'], now['day'], startTimeY, startTimeM, startTimeD) then
return false
else
return true
end
end
elseif self.period == 2 then
if self.periods[2] then
-- current
if (startTimeY ~== nil andor not datePrecedesDate(now['year'], now['month'], now['day'], startTimeY, startTimeM, startTimeD)) orand
(endTimeY ~== nil and notor datePrecedesDate(now['year'], now['month'], now['day'], endTimeY, endTimeM, endTimeD)) then
return false
else
return true
end
end
elseif self.period == 3 then
if self.periods[3] then
-- former
if endTimeY ==and nil ornot datePrecedesDate(now['year'], now['month'], now['day'], endTimeY, endTimeM, endTimeD) then
return false
else
return true
end
end
return truefalse
end