Moduł:StronicowyParser/Kategorie
Wygląd
Zobacz podstrony tego modułu.
|
local p={};
function p.WstawKategorie(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
if(not tabela_listy_danych_analizy_ksiazki.problemy)then return nil;end;
if(not tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then return "";end;
local pf=frame:getParent();
local nazwa_szablonu_rodzica=frame.args[2] or pf.args["nazwa szablonu rodzica"] or require("Module:Szablonowe").NazwaSzablonu(pf:getTitle());
local ktory_szablon_stronicowy_ma_zwracac_kategorie1=nazwa_szablonu_rodzica..":"..frame.args[1];
local ktory_szablon_stronicowy_ma_zwracac_kategorie2=tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie;
if(ktory_szablon_stronicowy_ma_zwracac_kategorie1==ktory_szablon_stronicowy_ma_zwracac_kategorie2)then
-----
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwa_przestrzeni_nazw_strony=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_nazw_ksiazki_strony=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_strony=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
-----
mw.log("+++++++++++++++++++++++++++++++++++++++")
mw.log("Udało się zwrócić dla sygnatury szablonu: "..ktory_szablon_stronicowy_ma_zwracac_kategorie1..".")
local parametry_modul=require("Module:Parametry");
local strony_z_wielkiej_litery,strony_z_malej_litery;
if(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)then
strony_z_wielkiej_litery="Artykuły";
strony_z_malej_litery="artykułów";
elseif(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)then
strony_z_wielkiej_litery="Artykuły dla dzieci,";
strony_z_malej_litery="artykułów dla dzieci";
elseif((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_nazw_ksiazki_strony,"^([^/]+)$")))then
strony_z_wielkiej_litery="Strony użytkowników,";
strony_z_malej_litery="stron użytkowników";
elseif((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_nazw_ksiazki_strony,"^%s*[Bb]rudnopis/([^/]+)$")))then
strony_z_wielkiej_litery="Strony brudnopisu projektu,";
strony_z_malej_litery="stron brudnopisu projektu";
else
strony_z_wielkiej_litery="Strony niepodręcznikowe";
strony_z_malej_litery="stron niepodręcznikowych";
end;
----
local function Czy_jest_taki_element_w_tabeli_problemow(element, tablica_nazwy_ksiazki)
local tablica_element=tablica_nazwy_ksiazki[element];
if(tablica_element)then return true;end;
return false;
end;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
local self={};
self.tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki;
----
local tabela_kategorii={};
local latki_modul=require("Module:Łatki");
----
if(tabela_listy_danych_analizy_ksiazki.problemy["problemy książkowe"])then
for nazwa_przestrzeni,tablica_przestrzeni in pairs(tabela_listy_danych_analizy_ksiazki.problemy["problemy książkowe"])do
for nazwa_przestrzeni_ksiazki,tablica_nazwy_przestrzeni_ksiazki in pairs(tablica_przestrzeni) do
for nazwa_ksiazki, tablica_nazwy_ksiazki in pairs(tablica_nazwy_przestrzeni_ksiazki)do
local tablica_bledy=tablica_nazwy_ksiazki["błędy uchwytów dołączonych stron"];
if(tablica_bledy)then
for _,element_w_podtablicy_kategorii_bledow in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local wartosc_elementu_pierwszego=element_w_podtablicy_kategorii_bledow[1];
local bledy_obiektow=tablica_bledy[wartosc_elementu_pierwszego];
if(bledy_obiektow)then
----
if((nazwa_przestrzeni==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(nazwa_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_woluminu))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z dołączonymi innymi stronami, w książkach, "..latki_modul.Z(element_w_podtablicy_kategorii_bledow[6]).." "..element_w_podtablicy_kategorii_bledow[6]..((mw.ustring.match(element_w_podtablicy_kategorii_bledow[6],"[%s_]+"))and ", " or " ").."ze złymi uchwytami]]");
else
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z dołączonymi ".. ((nazwa_przestrzeni==nazwy_np_modul.Main)and "artykułami, "
or((nazwa_przestrzeni==nazwy_np_modul.Wikijunior)and "artykułami dla dzieci, "
or (((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and "stronami użytkowników, "
or (((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) and "stronami brudnopisu projektu, "
or "stronami niepodręcznikowymi, ")))).."w innych książkach, "..latki_modul.Z(element_w_podtablicy_kategorii_bledow[6]).." "..element_w_podtablicy_kategorii_bledow[6]..((mw.ustring.match(element_w_podtablicy_kategorii_bledow[6],"[%s_]+"))and ", " or " ").."ze złymi uchwytami]]");
end;
end;
end;
end;
----
local tablica_bledy=tablica_nazwy_ksiazki["brak spisów treści do dołączonych stron"];
if(bledy_obiektow)then
local czy_pomijaj=Czy_jest_taki_element_w_tabeli_problemow("brak spisów treści do dołączonych książek na ich stronach głównych", tablica_nazwy_ksiazki)
or Czy_jest_taki_element_w_tabeli_problemow("dołączone strony główne nie istnieją", tablica_nazwy_ksiazki);
if(not czy_pomijaj)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Brakujące spisy treści, dołączonych do "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and "stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu"
or "stron niepodręcznikowych"))))..", "..(((nazwa_przestrzeni==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(nazwa_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)) and "stron w książkach" or (((element_w_podtablicy_kategorii_bledow==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni==nazwy_np_modul.User) and "stron użytkowników,"
or ((nazwa_przestrzeni==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu,"
or "stron")))).." w innych książkach")).."]]");
end;
end;
----
local tablica_bledy=tablica_nazwy_ksiazki["brak spisów treści do dołączonych książek na ich stronach głównych"];
if(bledy_obiektow)then
local czy_pomijaj=Czy_jest_taki_element_w_tabeli_problemow("doloczone_strony_glowne_nie_istnieja", tablica_nazwy_ksiazki)
or((nazwa_przestrzeni==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
and(nazwa_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_woluminu));
if(not czy_pomijaj)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Brak spisu treści, dołączonych do "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and "stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu"
or "stron niepodręcznikowych"))))..", do książek"..((nazwa_przestrzeni==nazwy_np_modul.Main)and ""
or((nazwa_przestrzeni==nazwy_np_modul.Wikijunior)and " dla dzieci"
or ((nazwa_przestrzeni==nazwy_np_modul.User) and " użytkowników"
or ((nazwa_przestrzeni==nazwy_np_modul.Wikibooks) and " brudnopisu projektu"
or " innych")))).."]]");
end;
end;
-----
local tablica_bledy=tablica_nazwy_ksiazki["dołączone strony główne nie istnieją"];
if(bledy_obiektow)then
local czy_ta_sama_ksiazka=((nazwa_przestrzeni==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(nazwa_ksiazki==tabela_listy_danych_analizy_ksiazki.nazwa_woluminu));
if(not czy_ta_sama_ksiazka)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Nieistniejące strony główne, dołączonych do "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and "stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu"
or "stron niepodręcznikowych"))))..", książek"..((nazwa_przestrzeni==nazwy_np_modul.Main)and ""
or((nazwa_przestrzeni==nazwy_np_modul.Wikijunior)and " dla dzieci"
or ((nazwa_przestrzeni==nazwy_np_modul.User) and " użytkowników"
or ((nazwa_przestrzeni==nazwy_np_modul.Wikibooks) and " brudnopisu projektu"
or " innych")))).."]]");
end;
-----
end;
local function Dodaj_kategorie_naglowkuj(kategoria_bledu,czesc_nazwy_kategorii)
local tablica_bledy=tablica_nazwy_ksiazki[kategoria_bledu];
if(bledy_obiektow)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..":"..strony_z_wielkiej_litery.." z dołączonymi "
..(
(nazwa_przestrzeni==nazwy_np_modul.Main)
and "artykułami"
or ((nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
and "artykułami dla dzieci,"
or (((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$")))
and "stronami użytkowników,"
or (((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$")))
and "stronami brudnopisu projektu,"
or "stronami niepodręcznikowymi"
)
)
)
)
.." "..czesc_nazwy_kategorii.."]]");
end;
end;
Dodaj_kategorie_naglowkuj("powtórka nagłówek w stronie dołączonej","z wielokrotnymi użyciami szablonu nagłówka w jednym nagłówku");
Dodaj_kategorie_naglowkuj("nagłowek w tekście rozdziału w stronie dołączonej","z użyciami szablonu nagłówka w tekstach rozdziałów");
end;
end;
end;
end;
----
for _,element_w_podtablicy_kategorii_bledow in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local wartosc_elementu_pierwszego=element_w_podtablicy_kategorii_bledow[1];
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",wartosc_elementu_pierwszego))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." "..latki_modul.Z(element_w_podtablicy_kategorii_bledow[6]).." "..element_w_podtablicy_kategorii_bledow[6]..((mw.ustring.match(element_w_podtablicy_kategorii_bledow[6],"[%s_]+"))and "," or "").." ze złymi uchwytami]]");
end;
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron","Link"..wartosc_elementu_pierwszego))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." ze złymi uchwytami do "..element_w_podtablicy_kategorii_bledow[7].."]]");
end;
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",wartosc_elementu_pierwszego,1))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z pustymi uchwytami w odnośnikach do "..element_w_podtablicy_kategorii_bledow[7].."]]");
end;
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",wartosc_elementu_pierwszego,2))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z pustymi nazwami artykułów w odnośnikach do "..element_w_podtablicy_kategorii_bledow[7].."]]");
end;
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",wartosc_elementu_pierwszego,3))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z pustymi nazwami książek w odnośnikach do "..element_w_podtablicy_kategorii_bledow[7].."]]");
end;
if(stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",wartosc_elementu_pierwszego))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z odnośnikami, z brakiem uchwytu, do "..element_w_podtablicy_kategorii_bledow[7].."]]");
end;
end;
if((tabela_listy_danych_analizy_ksiazki.problemy["brak spisu treści do korzystanych stron"])and((not tabela_listy_danych_analizy_ksiazki.problemy["brak spisów treści do korzystanych książek na ich stronach głównych"])and(not tabela_listy_danych_analizy_ksiazki.problemy["korzystana strona główna nie istnieje"])))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Brakujące spisy treści, do korzystanych "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and " artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and " artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and " stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and " stron brudnopisu projektu"
or "stron"))))..", w książkach]]");
end;
function Dodaj_kategorie_naglowkuj(zmienna_korzystane,czesc_nazwy_kategorii)
if(tabela_listy_danych_analizy_ksiazki.problemy[zmienna_korzystane])then
if(tabela_listy_danych_analizy_ksiazki.problemy[zmienna_korzystane]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." "..czesc_nazwy_kategorii.."]]");
end;
end;
end;
Dodaj_kategorie_naglowkuj("powtórka nagłowek w stronie korzystanej","z wielokrotnymi użyciami szablonu nagłówka w jednym nagłówku")
Dodaj_kategorie_naglowkuj("nagłówek w tekście rozdziału w stronie korzystanej","z użyciami szablonu nagłówka w tekstach rozdziałów")
if(tabela_listy_danych_analizy_ksiazki.problemy["nieprawidłowe nazwy korzystanych stron"])then
if(tabela_listy_danych_analizy_ksiazki.problemy["nieprawidłowe nazwy korzystanych stron"]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z nieprawidłowymi nazwami korzystanych stron]]");
end;
end;
if(tabela_listy_danych_analizy_ksiazki.problemy["nieprawidłowe nazwy stron dołączanych do stron"])then
if(tabela_listy_danych_analizy_ksiazki.problemy["nieprawidłowe nazwy stron dołączanych do stron"]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z nieprawidłowymi nazwami dołączonych stron]]");
end;
end;
if(tabela_listy_danych_analizy_ksiazki.problemy["strona nie istnieje"])then
if(tabela_listy_danych_analizy_ksiazki.problemy["strona nie istnieje"]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z dołączonymi nieistniejącymi stronami]]");
end;
end;
if(tabela_listy_danych_analizy_ksiazki.problemy["błąd wewnętrzny modułu lua stronicowego parsera"])then
if(tabela_listy_danych_analizy_ksiazki.problemy["błąd wewnętrzny modułu lua stronicowego parsera"]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": "..strony_z_wielkiej_litery.." z błędami wewnętrznymi skryptów]]");
end;
end;
if(tabela_listy_danych_analizy_ksiazki.problemy["niedozwolone znaki w spisach treści"])then
if(tabela_listy_danych_analizy_ksiazki.problemy["niedozwolone znaki w spisach treści"]==0)then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..":Nazwy "..strony_z_malej_litery..", w spisach treści zawierają niedozwolone znaki]]");
end;
end;
if((tabela_listy_danych_analizy_ksiazki.problemy["brak spisów treści do korzystanych książek na ich stronach głównych"])and(not tabela_listy_danych_analizy_ksiazki.problemy["korzystana strona główna nie istnieje"]))then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Brak spisu treści, korzystanych "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and "stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu"
or "stron"))))..", do książek]]");
end;
if(tabela_listy_danych_analizy_ksiazki.problemy["korzystana strona główna nie istnieje"])then
parametry_modul.DodajElementDoZbioru(tabela_kategorii,"[["..nazwy_np_modul.Category..": Nieistniejące strony główne, korzystanych "..((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User) and "stron użytkowników"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks) and "stron brudnopisu projektu"
or "stron"))))..", książek]]");
end;
return table.concat(tabela_kategorii,"");
end;
end;
return p;