模块:Dictionary/Complete.lua:修订间差异

来自「荏苒之境」
创建页面,内容为“local cargo = mw.ext.cargo local dict_views = require("Module:Dictionary-Views.lua") local DICT_TABLE = dict_views.TABLE local HEADERS = dict_views.HEADERS local ALL_FIELDS = table.concat(HEADERS, ",") local complete = {} complete.show = function(frame) local language = frame.args.language local query_res = cargo.query(DICT_TABLE, ALL_FIELDS, { where = string.format(Language="%s", language) }) local entries = {} for i = 1, #qu…”
 
Sicusa移动页面模块:Dictionary-Complete.lua模块:Dictionary/Complete.lua,不留重定向
 
(未显示同一用户的14个中间版本)
第1行: 第1行:
local dict_views = require("Module:Dictionary/Views.lua")
local dict_utils = require("Module:Dictionary/Utils.lua")
local cargo = mw.ext.cargo
local cargo = mw.ext.cargo


local dict_views = require("Module:Dictionary-Views.lua")
local DICT_TABLE = dict_views.TABLE
local DICT_TABLE = dict_views.TABLE
local HEADERS = dict_views.HEADERS
local DICT_HEADER_PRIORITY = tostring(dict_utils.HEADER_PRIORITY)
local ALL_FIELDS = table.concat(HEADERS, ",")


local complete = {}
local complete = {}
第10行: 第11行:
complete.show = function(frame)
complete.show = function(frame)
     local language = frame.args.language
     local language = frame.args.language
     local query_res = cargo.query(DICT_TABLE, ALL_FIELDS, {
     local dictPage = frame.args.dictionaryPage
         where = string.format([[Language="%s"]], language)
    local query = cargo.query(DICT_TABLE, "Spelling,Definition,Extra,Priority", {
         where = "Language=\""..language.."\"",
        limit = 100000
     })
     })
     local entries = {}
    if #query == 0 then
     for i = 1, #query_res do
    return "无词条。"
        local r = query_res[i]
    end
        for j = 1, #HEADERS do
 
            r[j] = r[HEADERS[j]]
     local header
        end
     for i = 1, #query do
        entries[#entries+1] = r
    if query[i].Priority == DICT_HEADER_PRIORITY then
    header = dict_utils.expand_row(query[i])
    break
    end
     end
     end
     return dict_views.vocabulary(entries)
    if header == nil then
    error("标题行未找到")
    end
   
    local extra_count = #header - 2
    local rows = {}
    local template_head = "{{词典条目|语言标识码="..language.."|拼写="
 
    for i = 1, #query do
    local raw = query[i]
    if raw.Priority ~= DICT_HEADER_PRIORITY then
        local row = dict_utils.expand_row(raw, extra_count)
        local spelling = row[1]
        local entry_page = dictPage.."/"..spelling
        row[1] = "[["..entry_page.."|"..spelling.."]]"
        rows[#rows+1] = row
        mw.site.createPage(
            entry_page, template_head..spelling.."}}")
    end
    end
 
     return dict_views.vocabulary(header, rows)
end
end


return complete
return complete

2025年8月5日 (二) 00:57的最新版本

此模块的文档可以在模块:Dictionary/Complete.lua/doc创建

local dict_views = require("Module:Dictionary/Views.lua")
local dict_utils = require("Module:Dictionary/Utils.lua")

local cargo = mw.ext.cargo

local DICT_TABLE = dict_views.TABLE
local DICT_HEADER_PRIORITY = tostring(dict_utils.HEADER_PRIORITY)

local complete = {}

complete.show = function(frame)
    local language = frame.args.language
    local dictPage = frame.args.dictionaryPage
	
    local query = cargo.query(DICT_TABLE, "Spelling,Definition,Extra,Priority", {
        where = "Language=\""..language.."\"",
        limit = 100000
    })
    if #query == 0 then
    	return "无词条。"
    end

    local header
    for i = 1, #query do
    	if query[i].Priority == DICT_HEADER_PRIORITY then
    		header = dict_utils.expand_row(query[i])
    		break
    	end
    end
    if header == nil then
    	error("标题行未找到")
    end
    
    local extra_count = #header - 2
    local rows = {}
    local template_head = "{{词典条目|语言标识码="..language.."|拼写="

    for i = 1, #query do
    	local raw = query[i]
    	if raw.Priority ~= DICT_HEADER_PRIORITY then
	        local row = dict_utils.expand_row(raw, extra_count)
	        local spelling = row[1]
	        local entry_page = dictPage.."/"..spelling
	
	        row[1] = "[["..entry_page.."|"..spelling.."]]"
	        rows[#rows+1] = row
	
	        mw.site.createPage(
	            entry_page, template_head..spelling.."}}")
	    end
    end

    return dict_views.vocabulary(header, rows)
end

return complete