Modul:Citation/CS1/Date validation/sandkasse: Forskelle mellem versioner

Content deleted Content added
Copy from en:Module:Citation/CS1/Date_validation/sandbox#L-246 to replace "may-code" (make it easier to localize)
ændring af brug af tankestreger og bindestreger i datointervaller (H Y P H E N _ T O _ D A S H) kopi fra eksisterende kode på da.wiki
Tag: Tilbagerullet
Linje 1.042:
 
Modifies the date_parameters_list and returns true if hyphens are replaced, else returns false.
 
MGA73: På dawiki er det OMVENDT. Der er derfor foretaget en række rettelser i koden i forhold til den originale
kode på en.wiki. Koden er kopieret fra den eksisterende version på da.wiki. Nedenfor er først lidt intro:
 
Funktionen retter ikke kun bindestreger til tankestreger, men er tilpasset testen i
Moduldiskussion:Citation/CS1/Date validation/testcases
således at årstalsintervaller (1963-1968) og datointervaller indenfor samme måned (3.-5. juni 2019) og
månedsintervaller indenfor samme år (maj-juni 2019) alle bruger bindestreg, mens tankestreg foretrækkes
ved andre datointervaller (f.eks. 3. maj – 5. juni 2019, 3. maj 2018 – 5. juni 2019, maj 2018 – juni 2019)
Desuden skal der være mellemrum omkring tankestreg, men ikke omkring bindestreg
 
]]
Line 1.049 ⟶ 1.059:
local n;
for param_name, param_val in pairs(date_parameters_list) do -- for each date-holding parameter in the list
-- MGA73: Fjernet if is_set (param_val.val) and
-- MGA73: Fjernet not mw.ustring.match (param_val.val, patterns.ymd[1]) then -- for those that are not ymd dates (ustring because here digits may not be Western)
param_val.val,if n =not param_val.val:gsubmatch ('^[1-9]%d%d%d *%-', '–*[1-9]%d%d%d'); and -- replace anyMGA73: hyphenKopi withfra ndashdawiki
not param_val:match ('%d%d%d%d%-%d%d%-%d%d') and -- MGA73: Kopi fra dawiki
not param_val:match ('%d%d%-%d%d%-%d%d%d%d') and -- MGA73: Kopi fra dawiki
not param_val:match ('%d%d?%/%d%d?[%s-]%d%d%d%d') then -- MGA73: Kopi fra dawiki
-- MGA73: Fjernet param_val.val, n = param_val.val:gsub ('%-', '–'); -- replace any hyphen with ndash
param_val, n = param_val:gsub ('%-', ' – '); -- MGA73: Kopi fra dawiki -- replace any hyphen with ndash
if 0 ~= n then
date_parameters_list[param_name].val = param_val.val; -- update the list
Line 1.057 ⟶ 1.072:
end
end
-- MGA73: Nedenfor kommer ca. 22 linjer med kode fra da.wiki
if not param_val:match ('[1-9]%d?%. +%a+%.? *– *[1-9]%d?%. +%a+%.? +[1-9]%d%d%d') and
not param_val:match ('[1-9]%d?%. +%a+%.? +[1-9]%d%d%d *– *[1-9]%d?%. +%a+%.? +[1-9]%d%d%d') and
not param_val:match ('^%a+%.? +[1-9]%d%d%d *– *%a+%.? +[1-9]%d%d%d') then
param_val, n = param_val:gsub (' *– *', '-'); -- erstat tankestreg med bindestreg
if 0 ~= n then
date_parameters_list[param_name] = param_val; -- update the list
result = true;
end
end
if param_val:match ('[^ ]–[^ ]') then
param_val, n = param_val:gsub ('–', ' – ');
if 0 ~= n then
date_parameters_list[param_name] = param_val; -- update the list
result = true;
end
end
if param_val:match (' %- ') then
param_val, n = param_val:gsub (' +%- +', '-');
if 0 ~= n then
date_parameters_list[param_name] = param_val; -- update the list
result = true;
end
end
-- MGA73: Her slutter de ca. 22 linjer med kode fra da.wiki
end
return result; -- so we know if any hyphens were replaced