From 75dd5e6afcbd826be2e97d98cc74d5b5198f6a70 Mon Sep 17 00:00:00 2001 From: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> Date: Fri, 24 Jul 2026 15:30:16 +0900 Subject: [PATCH 1/4] use tournament data to automatically fill event data --- lua/wikis/commons/ExternalMediaLink.lua | 34 +++++++++++++++++++------ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/lua/wikis/commons/ExternalMediaLink.lua b/lua/wikis/commons/ExternalMediaLink.lua index 5cc5bd6d3b7..1a794cd2338 100644 --- a/lua/wikis/commons/ExternalMediaLink.lua +++ b/lua/wikis/commons/ExternalMediaLink.lua @@ -16,6 +16,7 @@ local Lpdb = Lua.import('Module:Lpdb') local Namespace = Lua.import('Module:Namespace') local Page = Lua.import('Module:Page') local Table = Lua.import('Module:Table') +local Tournament = Lua.import('Module:Tournament') local Condition = Lua.import('Module:Condition') local ConditionTree = Condition.Tree @@ -73,6 +74,8 @@ function ExternalMediaLink._fallBackArgs(args) for subjectIndex = 2, MAXIMUM_VALUES.subjects do args['subject' .. subjectIndex] = args['subject' .. subjectIndex] or args['player' .. subjectIndex] end + + args.tournament = args.tournament or Tournament.getTournament(Logic.emptyOr(args['event-link'], args.event)) end ---Parses the supplied arguments and returns as LPDB form @@ -99,13 +102,14 @@ function ExternalMediaLink._readArgs(args) 'Maximum Value of authors (' .. MAXIMUM_VALUES.authors .. ') exceeded') lpdbData.authors = authors + ---@type StandardTournament + local tournament = args.tournament or {} + local extradata = { translation = args.translation, translator = args.translator, - event = args.event, - event_link = Page.pageifyLink( - Logic.emptyOr(args['event-link'], args.event) or '' - ), + event = tournament.displayName or args.event, + event_link = tournament.pageName or Page.pageifyLink(Logic.emptyOr(args['event-link'], args.event) or ''), subject_organization = args.subject_organization1, --legacy } @@ -244,6 +248,23 @@ function ExternalMediaLink._wrapperDisplay(parsedArgs) }} end + ---@return VNode? + local function eventDisplay() + local tournament = parsedArgs.tournament + if tournament ~= nil then + ---@cast tournament StandardTournament + return Link{ + link = tournament.pageName, + children = tournament.fullName, + } + elseif Logic.isNotEmpty(parsedArgs.event) then + return Link{ + link = parsedArgs['event-link'] or parsedArgs.event, + children = parsedArgs.event, + } + end + end + return TableWidgets.Table{ sortable = false, columns = {{}, {}}, @@ -253,10 +274,7 @@ function ExternalMediaLink._wrapperDisplay(parsedArgs) rowIfNotEmpty('Date', parsedArgs.date), rowIfNotEmpty('Subject(s)', makeLinkList('subject')), rowIfNotEmpty('Org Subject(s)', makeLinkList('subject_organization')), - rowIfNotEmpty('Event', parsedArgs.event and Link{ - link = parsedArgs['event-link'] or parsedArgs.event, - children = parsedArgs.event, - } or nil), + rowIfNotEmpty('Event', eventDisplay()), rowIfNotEmpty('URL', parsedArgs.link) )}}, } From bc63f511d80caf1cda7ec34e582c82b7d44b23e2 Mon Sep 17 00:00:00 2001 From: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> Date: Fri, 24 Jul 2026 16:05:43 +0900 Subject: [PATCH 2/4] type safety --- lua/wikis/commons/ExternalMediaLink.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/wikis/commons/ExternalMediaLink.lua b/lua/wikis/commons/ExternalMediaLink.lua index 1a794cd2338..4bca183b7f8 100644 --- a/lua/wikis/commons/ExternalMediaLink.lua +++ b/lua/wikis/commons/ExternalMediaLink.lua @@ -75,7 +75,9 @@ function ExternalMediaLink._fallBackArgs(args) args['subject' .. subjectIndex] = args['subject' .. subjectIndex] or args['player' .. subjectIndex] end - args.tournament = args.tournament or Tournament.getTournament(Logic.emptyOr(args['event-link'], args.event)) + args.tournament = type(args.tournament) == 'table' + and args.tournament + or Tournament.getTournament(Logic.emptyOr(args['event-link'], args.event)) end ---Parses the supplied arguments and returns as LPDB form From 073128ece6ea77e3ceed6042fc933ca60a0132ae Mon Sep 17 00:00:00 2001 From: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> Date: Fri, 24 Jul 2026 19:12:53 +0900 Subject: [PATCH 3/4] simplify fallback --- lua/wikis/commons/ExternalMediaLink.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lua/wikis/commons/ExternalMediaLink.lua b/lua/wikis/commons/ExternalMediaLink.lua index 4bca183b7f8..34fda6e776d 100644 --- a/lua/wikis/commons/ExternalMediaLink.lua +++ b/lua/wikis/commons/ExternalMediaLink.lua @@ -75,9 +75,11 @@ function ExternalMediaLink._fallBackArgs(args) args['subject' .. subjectIndex] = args['subject' .. subjectIndex] or args['player' .. subjectIndex] end - args.tournament = type(args.tournament) == 'table' - and args.tournament - or Tournament.getTournament(Logic.emptyOr(args['event-link'], args.event)) + local eventLink = Logic.emptyOr(args['event-link'], args.event) + + if Logic.isNotEmpty(eventLink) then + args.tournament = Tournament.getTournament(eventLink) + end end ---Parses the supplied arguments and returns as LPDB form From 2904c413965d98632563397adaca9c0f8a03d2df Mon Sep 17 00:00:00 2001 From: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> Date: Fri, 24 Jul 2026 19:17:11 +0900 Subject: [PATCH 4/4] make luals shut up --- lua/wikis/commons/ExternalMediaLink.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/wikis/commons/ExternalMediaLink.lua b/lua/wikis/commons/ExternalMediaLink.lua index 34fda6e776d..12a06a02beb 100644 --- a/lua/wikis/commons/ExternalMediaLink.lua +++ b/lua/wikis/commons/ExternalMediaLink.lua @@ -78,6 +78,7 @@ function ExternalMediaLink._fallBackArgs(args) local eventLink = Logic.emptyOr(args['event-link'], args.event) if Logic.isNotEmpty(eventLink) then + ---@cast eventLink -nil args.tournament = Tournament.getTournament(eventLink) end end