Naar inhoud springen

Module:NPO Radio 2 Top 2000/doc

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Ennomien (overleg | bijdragen) op 8 dec 2024 om 19:09. (eerste deel documentatie af)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)

Module:NPO Radio 2 Top 2000

Deze module wordt gebruikt om tabellen aan te maken voor noteringen in de NPO Radio 2 Top 2000, een eindejaarslijst die sinds 1999 jaarlijks een week lang non-stop wordt uitgezonden op radio, televisie en internet.

Input

De module moet worden aangeroepen via het sjabloon {{Tabel NPO Radio 2 Top 2000}}.

Twee verplichte argumenten worden bepaald door het sjabloon: het argument bezig (ja/nee) en laatste_editie (jaartal: xxxx). De eerste geeft aan of er op dit moment gewerkt wordt aan het verwerken van nieuwe noteringen, de tweede is het jaartal van de recentste lijst, bij wip=ja is dat het jaartal van de nieuwe lijst.

Daarnaast zijn er twee optionele argumenten die meegegeven kunnen worden aan het sjabloon: qid (Wikidata-ID: Qxxxx of lijst van Wikidata-ID's gescheiden door komma's: Qxxxx,Qxxxx,Qxxxx) en artiesten (ja/nee). Eerstgenoemde kent twee mogelijkheden: één Wikidata-ID behorend bij een artiest met noteringen in de hitlijst óf één of meerdere Wikidata-ID's behorend bij nummers met noteringen in de hitlijst (ongeacht of ze van dezelfde artiest zijn). Met het argument artiesten kan worden aangegeven of achter de titel van het nummer de medeartiesten getoond moeten worden, iets wat alleen bepaald kan worden als een tabel wordt gemaakt voor de noteringen van een of meerdere nummers. In het geval van een tabel van alle nummers met noteringen van een artiest, worden medeartiesten standaard getoond, alsmede wanneer het sjabloon op Lijst van Radio 2-Top 2000's wordt aangeroepen (wat niet kan door limieten in de software).

De daadwerkelijk gebruikte data staat opgeslagen in het databestand: Module:NPO Radio 2 Top 2000/data.

Werking

De module bestaat uit twee functies. De functie main is de enige aan te roepen functie, de lokale functie Top2000table wordt door eerstgenoemde aangeroepen.

main

De functie main begint met de definitie van de twee verplichte argumenten en het definiëren van enkele strings. Daarna wordt het argument qid omgezet in een lijst met Wikidata-ID's (al dan niet met de lengte 1) of, als dat argument niet was opgegeven, is het enige Wikidata-ID dat van de Wikidata-pagina gekoppeld aan de pagina waarvandaan het sjabloon wordt aangeroepen. Wat vervolgens gebeurt, verschilt per situatie:

  1. Als de lijst lengte 1 heeft en dat ene Wikidata-ID hoort bij een nummer met noteringen in het databestand, dan wordt een tabel gemaakt met de noteringen van dat nummer.
  2. Als de lijst lengte 1 heeft en dat ene Wikidata-ID hoort bij een artiest met nummers met noteringen in het databestand, dan wordt een tabel gemaakt met de noteringen van die nummers.
  3. Als de lijst een lengte langer dan 1 heeft en al die Wikidata-ID's horen bij een nummer met noteringen in het databestand, dan wordt een tabel gemaakt met de noteringen van die nummers.
  4. Is geen van deze drie opties het geval, dan wordt een gepaste foutmelding geretourneerd.

Er is in de code eigenlijk nog een vierde optie, dat is het aanroepen van het sjabloon op de pagina Lijst van Radio 2-Top 2000's, waarbij de lijst met Wikidata-ID's leeg zou kunnen blijven. Het idee is dat de tabel dan een tabel maakt met alle nummers erin, maar vanwege limieten in de software werkt dit niet.

Top2000table

Van de functie main krijgt deze functie drie relevante argumenten:

  1. keys: een lijst met de Wikidata-ID's van de nummers die in de tabel komen te staan.
  2. data: een lijst met de dataobjecten van die nummers, afkomstig uit het databestand.
  3. artist_qid: het Wikidata-ID van de artiest (alleen in het geval van optie 2 hierboven, of in het geval van de niet-werkende optie 4 de string list).