Moduli:CS1 charts
Pamja
local cfg = mw.loadData ('Moduli:Citation/CS1/Configuration');
--[[--------------------------< M A I N T _ C A T S _ T >------------------------------------------------------
]]
local maint_cats_t = { -- categories and the order in which they are displayed
'maint_unfit', -- Mirëmbajtja CS1: Adresë e papërshtatshme
'maint_archived_copy', -- Mirëmbajtja CS1: Archived copy si titull
'maint_bot_unknown', -- Mirëmbajtja CS1: BOT: gjendja e adresës origjinale është e panjohur
'maint_untitled', -- Mirëmbajtja CS1: Botim periodik i patitulluar
'maint_ref_duplicates_default', -- Mirëmbajtja CS1: Citimi referon vetveten
'maint_date_year', -- Mirëmbajtja CS1: Data dhe viti
'maint_doi_inactive', -- Mirëmbajtja CS1: DOI joaktive
'maint_pmc_embargo', -- Mirëmbajtja CS1: Embargo PMC ka skaduar
'Mirëmbajtja CS1: Emra shifrorë', -- has subcats with assembled named so this cat not in cfg.error_conditions
'Mirëmbajtja CS1: Emra të shumëfishtë', -- has subcats with assembled named so this cat not in cfg.error_conditions
'maint_others', -- Mirëmbajtja CS1: Është përdorur gabimisht parametri i të tjerëve
'maint_others_avm', -- Mirëmbajtja CS1: Është përdorur gabimisht parametri i të tjerëve te citimet audiovizuale
'maint_authors', -- Mirëmbajtja CS1: Është përdorur parametri i autorëve
'maint_ref_harv', -- Mirëmbajtja CS1: Është përdorur ref=harv
'maint_date_format', -- Mirëmbajtja CS1: Formati i datës
'maint_jfm_format', -- Mirëmbajtja CS1: Formati JFM
'maint_mr_format', -- Mirëmbajtja CS1: Formati MR
'maint_pmc_format', -- Mirëmbajtja CS1: Formati PMC
'maint_doi_ignore', -- Mirëmbajtja CS1: Gabime DOI të injoruara
'maint_isbn_ignore', -- Mirëmbajtja CS1: Gabime ISBN të injoruara
'maint_issn_ignore', -- Mirëmbajtja CS1: Gabime ISSN të injoruara
'maint_unknown_lang', -- Mirëmbajtja CS1: Gjuhë e panjohur
'maint_postscript', -- Mirëmbajtja CS1: Passhkrimi
'maint_extra_punct', -- Mirëmbajtja CS1: Pikësim shtesë
'Mirëmbajtja CS1: Tekst shtesë', -- has subcats with assembled named so this cat not in cfg.error_conditions
'maint_location', -- Mirëmbajtja CS1: Vendodhja
'maint_zbl', -- Mirëmbajtja CS1: ZBL
}
--[[--------------------------< S U B C A T S _ T >------------------------------------------------------------
]]
local subcats_t = {
['Mirëmbajtja CS1: Emra shifrorë'] = { -- subcats of Mirëmbajtja CS1: Emra shifrorë
'Mirëmbajtja CS1: Emra shifrorë: lista e autorëve',
'Mirëmbajtja CS1: Emra shifrorë: lista e intervistuesve',
'Mirëmbajtja CS1: Emra shifrorë: lista e kontribuesve',
'Mirëmbajtja CS1: Emra shifrorë: lista e përkthyesve',
'Mirëmbajtja CS1: Emra shifrorë: lista e redaktorëve',
},
['Mirëmbajtja CS1: Emra të shumëfishtë'] = { -- subcats of Mirëmbajtja CS1: Emra të shumëfishtë
'Mirëmbajtja CS1: Emra të shumëfishtë: lista e autorëve',
'Mirëmbajtja CS1: Emra të shumëfishtë: lista e intervistuesve',
'Mirëmbajtja CS1: Emra të shumëfishtë: lista e kontribuesve',
'Mirëmbajtja CS1: Emra të shumëfishtë: lista e përkthyesve',
'Mirëmbajtja CS1: Emra të shumëfishtë: lista e redaktorëve',
},
['Mirëmbajtja CS1: Tekst shtesë'] = { -- subcats of Mirëmbajtja CS1: Tekst shtesë
'Mirëmbajtja CS1: Tekst shtesë: lista e autorëve',
'Mirëmbajtja CS1: Tekst shtesë: lista e intervistuesve',
'Mirëmbajtja CS1: Tekst shtesë: lista e kontribuesve',
'Mirëmbajtja CS1: Tekst shtesë: lista e përkthyesve',
'Mirëmbajtja CS1: Tekst shtesë: lista e redaktorëve',
},
}
--[[--------------------------< S U B C A T _ D A T A _ F E T C H >--------------------------------------------
]]
local function subcat_data_fetch (cat)
local page_count = 0;
if subcats_t[cat] then
local pages_in_cat = {};
for i, subcat in ipairs (subcats_t[cat]) do
pages_in_cat = mw.site.stats.pagesInCategory (subcat, '*');
page_count = page_count + pages_in_cat.files + pages_in_cat.pages + pages_in_cat.subcats;
end
end
return page_count;
end
--[[--------------------------< G R A P H _ P A R A M S _ C R E A T E >----------------------------------------
]]
local function graph_params_create ()
local page_counts = {};
local cat_names = {};
for i, maint_cat in ipairs (maint_cats_t) do
local pages_in_cat = {};
if cfg.error_conditions[maint_cat] then
maint_cat = cfg.error_conditions[maint_cat].category; -- fetch the category name from Module:Citation/CS1/Configuration; use plaintext maint_cat else
end
cat_names[i] = maint_cat; -- save a copy of the category name
pages_in_cat = mw.site.stats.pagesInCategory (maint_cat, '*');
page_counts[i] = pages_in_cat.files + pages_in_cat.pages + pages_in_cat.subcats + subcat_data_fetch (maint_cat);
end
local out = {};
for i, v in ipairs (maint_cats_t) do
table.insert (out, table.concat ({' | group ', i, ' = ', page_counts[i]}));
end
for i, v in ipairs (maint_cats_t) do
table.insert (out, table.concat ({' | tooltip ', i, ' = ', cat_names[i], ' ', page_counts[i], ' faqe'}));
end
table.insert (out, ' | group names =')
for i, v in ipairs (maint_cats_t) do
table.insert (out, table.concat ({' <!-- Group name ', i, ' -->[[:Kategoria:', cat_names[i], '|', cat_names[i], ']] ', page_counts[i], ' faqe;'}));
end
local out_str = table.concat (out, '\r\n'):gsub (';$', ''); -- without trailing semicolon
return out_str;
end
--[[--------------------------< E X P O R T S >----------------------------------------------------------------
]]
return {
graph_params_create = graph_params_create,
}