Wikipedia:Underprosjekter/Opprydding av importerte referanser

Fra Wikipedia, den frie encyklopedi

Opprydding av importerte referanser beskriver ryddejobben som må kjøres etter endring av infobokser slik at de bruker Modul:Reference score. Foreløpig er denne i bruk i Modul:WikidataDato (diff,diff) og Modul:WikidataListe (diff). Disse endringene har konsekvenser for flere maler. Grunnlaget for innføringen er Wikipedia:Tinget#Referanser fra utsagn på Wikidata i infoboksen.

Skriving av artikler her på Wikipedia og påføring av referanser inne på Wikidata er ikke en statisk aktivitet. Det vil skapes nye artikler samtidig som eksisterende artikler får nye referanser. Dermed blir det en tilvekst av artikler som mangler en referanseseksjon. For å rette på dette må det kjøres en botjobb med (u)jevne mellomrom.

Etter endring av maler injiseres referanser på sidene, men uten at det er satt på en egen referanseseksjon. Denne blir helst satt på etter at noen setter inn referanser i brødteksten. For å gjøre det mulig å finne steder hvor det mangler en slik referanseseksjon så blir sidene gitt Kategori:Sider med referanser fra utsagn‎, og fordi vi har innført bruk av <references/>, så er det mulig å finne sider hvor referanseseksjonen mangler med incategory:"Sider med referanser fra utsagn‎" -insource:/\<[rR]eferences/(søk)

Søket gir noen false positives, men dette kan enkelt fanges opp av mw:Manual:Pywikibot/replace.py. Dette angis i excepttext som ser etter en overskrift =\s*[rR]eferanser\s*=. Finnes det noe som ser ut som denne overskriften så avbrytes videre prosessering av siden.

En ny referanseseksjon settes inn over første forekomst av en av standardseksjonene «Litteratur», «Kilder», eller «Eksterne lenker». En av disse seksjonene finnes for nesten alle aktuelle sider.

$ python3 pwb.py replace -family:wikipedia -lang:no -ns:0 -search:"incategory:\"Sider med referanser fra utsagn‎\" -insource:/\<[rR]eferences/" -summary:"Legger til referanseseksjon" -dotall -regex -excepttext:"=\s*[rR]eferanser\s*=" "(\n==\s*([lL]itteratur|[kK]ilder|[eE]ksterne lenker)\s*==.*)$" "\n== Referanser ==\n<references />\n\1"

Noen sider mangler en av disse standardseksjone, og da kan noen alternative søkemønster fungere. Det første ser etter noen få svært vanlige maler.

$ python3 pwb.py replace -family:wikipedia -lang:no -ns:0 -search:"incategory:\"Sider med referanser fra utsagn‎\" -insource:/\<[rR]eferences/" -summary:"Legger til referanseseksjon" -dotall -regex -excepttext:"=\s*[rR]eferanser\s*=" "(\n['\[]*[A-ZÆØÅ][a-zæøå][^\n]*)(\n\s*)(\{\{\s*(?:[aA]utoritetsdata|[sS]tubb|\w+stubb).*)$" "\1\n\n== Referanser ==\n<references />\n\n\3"

En viktig siste variant, men som gjør noen feil, er å bruke maler sammen med ovenforliggende tekst og lister som markører. Veldig ofte er det en liste ovenfor, men er de foregående kjørt så skal problemoppføringer være løst.

$ python3 pwb.py replace -family:wikipedia -lang:no -ns:0 -search:"incategory:\"Sider med referanser fra utsagn‎\" -insource:/\<[rR]eferences/" -summary:"Legger til referanseseksjon" -dotall -regex -excepttext:"=\s*(?:[rR]eferanser|Litteratur|[eE]ksterne lenker|[kK]ilder)\s*=" "(\n\*?\ ?['\[]*[\w\d][^\n]*)((?:\n+\s*\{\{\w*[^\}]*\}\})*)(\n+\s*\{\{\s*(?:[pP]ortal|[aA]utoritetsdata|[sS]tubb|\w+stubb|[sS]tartboks|[vV]erv|STANDARDSORTERING).*)$" "\1\n\n== Referanser ==\n<references />\2\3"