Modulo:Webarchive/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
rendo più preciso il riconoscimento dei servizi onde evitare falsi positivi |
stesso trattamento per ogni url |
||
Riga 242:
estratto da mw.uri.new() (es. web.archive.org)
]]
local function serviceName(
local tracking = 'Categoria:Template Webarchive - altri archivi'
local bracketopen, bracketclose = nolink and '' or '[[', nolink and '' or ']]'
encoded_date = nil -- reset
url_data.service = 'altri'
for _,servizio in ipairs(servizi) do
if mw.ustring.find(string.gsub(
if servizio['tailbracket'] then
else
end
tracking = servizio['tracking'] or tracking
Line 259 ⟶ 260:
end
end
if
end
track[tracking] = 1
end
Line 311 ⟶ 283:
--[[--------------------------< createRendering >-----------------------
Restituisce la resa dei dati in
]]
local function createRendering(
local sand
local day =
local article = (day == '8' or day == '11') and 'l\'' or 'il '
if not
sand = mw.ustring.format('[%s Archiviato]%s.',
elseif not
sand = mw.ustring.format('[%s Archiviato] %s%s%s.',
elseif
sand = mw.ustring.format('[%s %s]%s.',
elseif
sand = mw.ustring.format('[%s %s]%s (archiviato %s%s).',
else
return nil
end
if #
sand = sand .. ' Archivi aggiuntivi: '
local archives_output = {}
for
archives_output[#archives_output+1] = mw.ustring.format('[%s %s]',
end
sand = sand .. table.concat(archives_output, ', ') .. '.'
Line 356 ⟶ 328:
end
})
local url_data = {}
local i = 1
while true do
local n = i == 1 and args.url and '' or i
local url = i == 1 and (args.url or args.url1) or args['url' .. i]
if i == 1 and not url then
return inlineError('url', 'vuoto') .. createTracking()
elseif not url or i > maxurls then
break
elseif mw.ustring.find(url, 'https://web.http') then
track['Categoria:Errori di compilazione del template Webarchive'] = 1
elseif url == 'https://web.archive.org/http:/' then
track['Categoria:Errori di compilazione del template Webarchive'] = 1
return inlineError('url' .. n, 'URL non valido') .. createTracking()
end
url_data[i] = {}
url_data[i].url = url
url_data[i].host = mw.uri.new(url).host
if not url_data[i].host then return inlineError('url' .. n, 'URL non valido') end
serviceName(url_data[i], args.nolink)
args['date' .. i] or args['data' .. i]
if date then
date = formatDate(date) local udate =
if udate and udate ~= date then
date = date .. inlineRed('<sup>[Data nell\'URL non combaciante: ' .. udate .. ']</sup>', 'warning')
elseif not udate and encoded_date == true then
date = date .. ' ' .. inlineRed('Data nell\'URL indecifrabile', 'error')
end
elseif url_data[i].service == 'wayback' then
date = p.decodeWaybackDate(url_data[i].url)
elseif url_data[i].service == 'webcite' then
date = p.decodeWebciteDate(url_data[i].url)
elseif url_data[i].service == 'archiveis' then
date = p.decodeArchiveisDate(url_data[i].url)
else
date = inlineRed('Data mancante', 'warning')
end
if not date then
date = encoded_date == false and inlineRed('Data mancante', 'warning') or
inlineRed('Data nell\'URL indecifrabile', 'error')
end
url_data[i].date = date
-- gestione del titolo
url_data[i].title = i == 1 and (args.title or args.title1 or args.titolo or args.titolo1) or
args['title' .. i] or args['titolo' .. i]
i = i + 1
end
local rend = createRendering(url_data)
if not rend then
track['Categoria:Errori di compilazione del template Webarchive'] = 1
rend = '<span style="font-size:100%" class="error citation-comment">Errori in [[:Template:Webarchive]]: problema sconosciuto. Si prega di segnalarlo nella [[
end
|