模組:CCHPaward
外观
require("strict")
local getArgs = require("Module:Arguments").getArgs
-- 数据
local RECORD_MODULE = "Module:CCHPaward/list"
local function load_record()
return mw.loadData(RECORD_MODULE)
end
-- 获取用户名(页面名称或指定参数)
local function fetch_username(user)
if user == nil or user == "" then
return mw.title.getCurrentTitle().baseText
end
return user
end
-- 计算等级
local function calculate_level(article, image, review)
local total_score = article * 1 + image * 0.2 + review * 0.4
return math.floor(total_score / 10)
end
local p = {}
-- 获取用户等级
function p.level(frame)
local args = getArgs(frame)
local user = args.user
local record = load_record()
local username = fetch_username(user)
-- 获取得分
local user_data = record[username] or {article = 0, image = 0, review = 0}
-- 计算并返回等级
return tostring(calculate_level(user_data.article, user_data.image, user_data.review))
end
return p