模組:政黨
模块文档
使用方法
{{#invoke:政黨|fetch|<party>|<value>}}
更新模块
本模块中包含的政党根据名称的第一个字符分成按字母顺序排列的列表(例如,"Labour Party (UK)" 属于 /L)。/1 子页面用于任何不以西方字母 A-Z 开头的政党(包括数字和重音字符)。
每个数据子模块内有两个本地组:local alternate
和 local full
。
备用党派名称
备用组(alternate group)用于党派的备用名称。以下是 Labour Party (UK) 的备用名称示例:
local alternate = { ....["Labour and Co-operative"] = "Labour Party (UK)",["Labour Co-operative"] = "Labour Party (UK)", ...}
方括号中的第一个条目是备用名称,第二个条目(仅在引号中)是 full
组中的名称,如下所示。请注意,政党的备用名称应存储在相应的基于字母的子页面中;"Alabama Democratic Party" 列在 /A 中,尽管它是 "Democratic Party (US)"(存储在 /D)的备用名称。
表中数值
local full = { ....["Labour Party (UK)"] = {abbrev = "Lab", color = "#E4003B", shortname = "Labour",}, ...}
每个党都存储有三个值:
与党的主要名称不同,添加到这些参数中的值与本模块中其他党的值不必是唯一的。
如果某个党没有存储名称值,模块在返回输入之前会尝试返回另一个简短名称变量。因此,如果存储了缩写(abbrev
),但没有存储简称(shortname
),那么无论询问哪个值,模块都会返回缩写值(abbrev
)。
數據頁
local p = {}local default_color = '#F8F9FA'local categories = {party_not_in_list = '[[Category:Pages using Political party with unknown party]]',shortname_not_in_list = '[[Category:Pages using Political party with missing shortname]]',color_not_in_list = '[[Category:Pages using Political party with missing color]]',}local function create_error(error_message)return string.format('<strong class="error">%s</strong>', error_message)endlocal function getFirstLetter(party)local index = mw.ustring.sub(party, 1, 1)-- Set index for non-A-Z startsif string.match(index, '%A') thenreturn '1'endreturn string.upper(index)endlocal function stripToNil(text)-- If text is a string, return its trimmed content, or nil if empty.-- Otherwise return text (which may, for example, be nil).if type(text) == 'string' thentext = text:match('(%S.-)%s*$')local delink = require('Module:Delink2')._delinktext = delink({text, wikilinks = "target"})endreturn textend-- Example of having all the data - color and names - in one table. Requires one page to be edited instead of two when adding a new party.function p._fetch(args)if not args[1] thenreturn create_error("parameter 1 should be a party name.")endif not args[2] thenreturn create_error("parameter 2 should be the output type.")end local party = stripToNil(args[1])local out_type = stripToNil(args[2])if out_type == 'colour' thenout_type = 'color'endlocal index = getFirstLetter(party)-- Load data from submodulelocal data = mw.loadData('Module:政黨/' .. index)local data_all = data.fulllocal party_alt = data.alternate[party]local party_infoif party_alt thenif data_all[party_alt] thenparty_info = data_all[party_alt]elseindex = getFirstLetter(party_alt)data = mw.loadData('Module:政黨/' .. index)party_info = data.full[party_alt]endelseparty_info = data_all[party]end-- Check if database value exists-- * Not even in database - return given error or input-- * No color - return error-- * No shortname/abbrev - return first non-blank of abbrev->shortname->inputif not party_info thenif out_type == 'color' thenreturn args.error or default_colorelsereturn args.error or partyendendlocal return_value = party_info[out_type]if return_value == "" thenif out_type == 'color' thenreturn args.error or create_error("Value not in template. Please request that it be added.")elseif out_type == 'abbrev' thenif party_info.shortname ~= "" thenreturn party_info.shortnameelsereturn partyendelseif out_type == 'shortname' thenif party_info.abbrev ~= "" thenreturn party_info.abbrev elsereturn partyendelsereturn partyendendif out_type == 'color' and string.find(return_value, '#') thenreturn_value = string.gsub(return_value, '#', '#')endreturn return_valueendfunction p.fetch(frame)-- Initialise and populate variableslocal getArgs = require("Module:Arguments").getArgslocal args = getArgs(frame)return p._fetch(args)endreturn p
🔥 Top keywords: Baike: 首页Special:搜索2024年湯姆斯盃淚之女王九龍城寨之圍城歐倩怡郭晉安逆天奇案22024年優霸盃背着善宰跑不夠善良的我們金智媛余苑綺時代力量分裂危機春色寄情人貴婦奈奈台灣抗日運動金秀賢 (男演員)余天九龍寨城嫦娥六号习近平邊佑錫汤姆斯杯六四事件宁安如梦WIND BREAKER—防風少年—排球少年!!角色列表Seventeen (組合)笑看風雲ILLIT乘風2024排球少年!!五億高中生命案范浩揚劉緯民BABYMONSTER城市猎人 (2024年电影)破墓劉俊謙 (香港)中華民國與鳳行中华人民共和国朴成焄梅龍高速公路塌陷事故Energy (組合)支配物种城市猎人BOYNEXTDOOR承欢记白鹿 (演員)逆天奇案五四运动沒有秘密許瑋甯哥吉拉-1.0照明商店 (电影)IVE (組合)迷宮飯周處除三害 (電影)香港周雨彤母亲节金惠奫紀寶如葬送的芙莉蓮打天下2无用的谎言日本草榴社区P站国际劳动节怪獸8號杰伦·布伦森家族榮耀之繼承者鈴木亮平鄧麗君張文傑搜查班長1958福建號航空母艦(G)I-DLE李现李主儐幕府將軍 (2024年電視劇)張員瑛毛泽东星汉灿烂·月升沧海張韶涵三流之路澄碧邨中國國民黨五月天許冠英林依晨文化大革命關於我轉生變成史萊姆這檔事角色列表帝國浩劫:美國內戰三体 (小说)梅龙高速公路