Modul:External links/conf/Film
Modulen "External links/conf/Film" inneholder konfigurasjon som brukes av Modul:External links
Det er i variabelen configured_claims en rekke rader som beskriver hvilke wikidata-egenskaper som skal benyttes for å lage eksterne lenker i artikler. Disse radene er bygd opp på følgende måte:
{ prop='Pnnnn', message ="$3 [$2 ''$1''] <beskrivelse>", short="[$2 <tekst>]", langcode ='aa', url="...", url_f=<function>, regex="...", genitiv=<boolean>, track=<boolean> },
Hvor følgende er tilfelle:
prop
- er property-navnet som skal behandles.Pnnnn
- Dersom denne er en "P" etterfulgt av et nummer (Pnnnn
), antas det at dette er et Property-nummer på Wikidata som skal sjekkes. F.eks. P345 som da er nummeret for IMDB sine lenker. Hvis dette finnes for artikkelen, vil en ekstern lenke for denne egenskapen potensielt vises frem.SLaaaa
- Dersom denne består av "SL" etterfulgt av et interwikinavn, f.eks.SLspecieswiki
, vil det forsøkes å hente navnet på tilsvarende artikkel på den andre wikien, med understreker for mellomrom.- Dersom det er et annet property-navn, behandles dette som en ren lokal definisjon og trenger å få verdien/identifikatoren fra oppkallet av modulen. Se eksempel nedenfor.
message
- er teksten som skal vises frem i artikkelen. Denne har to spesial-verdier:$1
og$2
. Disse to vil erstattes med følgende:$1
- Erstattes med artikkel-navnet. Se ogsågenitiv
under.$2
- Erstattes med den rå-URL'en til den eksterne lenken. F.eks.http://www.imdb.com/title/tt0085255/
$3
- Erstattes med en språkkode. F.eks. (en) for engelsk språk. Selangcode
.$4
- Erstattes av selve verdien.$5
- Erstattes av en URI-formatert versjon av selve verdien.
short
- er en kort-versjon av teksten om skal vises frem. Denne har to spesial-verdier:$1
og$2
. Disse to vil erstattes tilsvarende som formessage
ovenfor.langcode
- Her legges inn språkkoden for nettstedet. Denne brukes for å lage en indikasjon på hvilket språk nettstedet er skrevet. Dersom en P-verdi legges inn her, vil modulen lete etter denne P-verdien som en qualifier under P305 (verkets språk). Det er pr. i dag kun støttetP407
her.url_f
- Her kan det legges inn en formaterings-funksjon for URL'ene som skal kalles opp. Dette er kun navnet på funksjonen (som må være definert lokalt ovenfor configured_claims i denne modulen. Funksjonen vil kalles opp med én variabel som er identifikatoren som kommer fra wikidata eller lokalt og det forventes en ferdig rå-URL tilbake. Eksempel:url_f=imdb_formatter
. Denne funksjonen er første prioritet ved valg mellom flere muligheter.url
- Her kan det legges inn URL'en som skal kalles opp. Eksempel:url="http://www.imdb.com/tt/$1"
. Denne strengen er andre prioritet ved valg mellom flere muligheter. Denne har en spesial-verdi:$1
som vil erstattes med følgende:$1
- Erstattes med identifikatoren som kommer fra wikidata eller lokalt.
regex
- Her kan det legges inn en regexp-streng som vil brukes for å verifisere at identifikatoren som kommer fra wikidata eller lokalt har korrekt format. Eksempel:regex="tt\\d+"
. Dersom denne er definert, må identifikatoren passere denne testen først. Hvis det finnes relevante regexp-strenger på wikidata, vil disse sjekkes også, men etter denne.genitiv
- Dette er en variabel som bestemmer om det skal brukes genitiv på artikkelnavnet som erstatter$1
(se over). Denne kan enten væretrue
(sann) ellerfalse
(usann).track
- Dette er en variabel som bestemmer om bruken av denne egenskapen skal melde inn artikkelen i en kategori. Kategorien styres av definisjonen lenger ned (['tracking-cat-found-data']
eller['tracking-cat-found-local']
). Denne kan enten væretrue
(sann) ellerfalse
(usann).
Se også definisjonen av maksimum antall lenker som vil vises frem i artiklene i variabelen limits
som ['links-shown'] = 10
Eksempel
[rediger kilde]Ved å legge inn følgende linje:
{ prop='P345', message ="$3 [$2 ''$1''] på [[Internet Movie Database]]", langcode ='en', genitiv = false },
Vil det lages en linje tilsvarende dette i artikkelen Blue Thunder:
- (en) Blue Thunder på Internet Movie Database
Ved å legge inn følgende linje:
{ prop='P345', message ="$3 [$2 ''$1''] på [[Internet Movie Database]]", short="[$2 IMDb]", langcode ='en', genitiv = false },
Vil det lages en linje tilsvarende dette i artikkelen Blue Thunder ved å kalle denne opp med parameteren "kort=1": IMDb
Ved å legge inn følgende linje for lokale definisjoner:
{ prop='bbfc', message ="$3 [$2 ''$1''] på BBfc", langcode ='en', url="http://www.bbfc.co.uk/node/$1", regex="\\d+", genitiv = false },
Vil det lages en linje tilsvarende dette i artikkelen Blue Thunder, ved å f.eks. kalle opp med bbfc=46443
:
- (en) Blue Thunder på BBfc
local function bbfc_formatter(id)
return mw.message.newRawMessage("http://www.bbfc.co.uk/node/$1", id):plain()
end
local function commons_formatter(id)
return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_")
end
local configured_claims = {}
configured_claims['nb'] = {
{ prop ='P373', message ="$3 [$2 ''$1''] – bilder, video eller lyd på [[Wikimedia Commons]]", langcode = 'en', genitiv = false, url_f=commons_formatter },
{ prop='P345', message ="$3 [$2 ''$1''] på [[Internet Movie Database]]", short="[$2 IMDb]", langcode ='en', genitiv = false },
{ prop='P2883', message ="$3 [$2 ''$1''] på [[Hong Kong Movie Database]]", short="[$2 HKMDb]", langcode ='en', genitiv = false },
-- norske film-baser
{ prop='P1439', message ="$3 [$2 ''$1''] i [[Nasjonalbiblioteket]]s filmografi", short="[$2 Norsk Filmografi]", langcode ='no', genitiv = false },
{ prop='filmweb', message ="$3 [$2 ''$1''] hos [[Filmweb]] (arkivert)", short="[$2 Filmweb (arkivert)]", langcode ='nb', genitiv = false, url="https://web.archive.org/web/1/https://www.filmweb.no/film/article$1.ece", regex="\\d+" },
{ prop='P12222', message ="$3 [$2 ''$1''] hos [[Filmweb]]", short="[$2 Filmweb]", langcode ='no', genitiv = false },
{ prop='nfi', message ="$3 [$2 ''$1''] i [[Norsk filminstitutt]]s filmdatabase", short="[$2 NFI]", langcode ='en', genitiv = false, url="https://www.nfi.no/film?id=$1", regex="[A-Za-z0-9]+" },
{ prop='P7975', message ="$3 [$2 ''$1''] hos [[Filmfront]]", short="[$2 Filmfront]", langcode ='no', url="http://www.filmfront.no/utgivelse/$1/", regex="\\d+", genitiv = false },
{ prop='P9979', message ="$3 [$2 ''$1''] på [[NRK TV]]", short="[$2 NRK TV]", langcode ='no', genitiv = false },
-- andre nordiske film-baser
{ prop='P2334', message ="$3 [$2 ''$1''] i [[Svensk Filmdatabas]]", short="[$2 SFDb]", langcode ='sv', genitiv = false },
{ prop='P1804', message ="$3 [$2 ''$1''] i Danmark Nationale Filminstitut", short="[$2 DFI]", langcode ='da', genitiv = false },
{ prop='danskefilm', message ="$3 [$2 ''$1''] på danskefilm.dk", short="[$2 danskefilm.dk]", langcode ='da', genitiv = false, url="http://www.danskefilm.dk/film/$1.html", regex=".+" },
{ prop='danskefilmstum', message ="$3 [$2 ''$1''] på danskefilm.dk", short="[$2 danskefilm.dk]", langcode ='da', genitiv = false, url="http://www.danskefilm.dk/stumfilm/$1.html", regex=".+" },
-- øvrige filmbaser
{ prop='P1562', message ="$3 [$2 ''$1''] på [[AllMovie]]", short="[$2 Allmovie]", langcode ='en', genitiv = false },
{ prop='P1265', message ="$3 [$2 ''$1''] på Allociné", short="[$2 Allociné]", langcode ='fr', genitiv = false },
{ prop='P1970', message ="$3 [$2 ''$1''] på MovieMeter", short="[$2 MovieMeter]", langcode ='nl', genitiv = false },
{ prop='P2639', message ="$3 [$2 ''$1''] på filmportal.de", short="[$2 filmportal.de]", langcode ='de', genitiv = false },
{ prop='P2631', message ="$3 [$2 ''$1''] på [[Turner Classic Movies]]", short="[$2 TCMdb]", langcode ='en', genitiv = false },
{ prop='P4947', message ="$3 [$2 ''$1''] på The Movie Database – film", short="[$2 TMDb film]", langcode ='en', genitiv = false },
{ prop='P4983', message ="$3 [$2 ''$1''] på The Movie Database – TV", short="[$2 TMDb TV-serie]", langcode ='en', genitiv = false },
{ prop='P3593', message ="$3 [$2 ''$1''] på [[American Film Institute]]", short="[$2 AFI]", langcode ='en', genitiv = false },
{ prop='P5338', message ="$3 [$2 ''$1''] på Silent Era", short="[$2 Silent Era]", langcode ='en', genitiv = false },
{ prop='P1258', message ="$3 [$2 ''$1''] på [[Rotten Tomatoes]]", short="[$2 Rotten Tomatoes]", langcode ='en', genitiv = false },
{ prop='P1712', message ="$3 [$2 ''$1''] på [[Metacritic]]", short="[$2 Metacritic]", langcode ='en', genitiv = false },
{ prop='P1237', message ="$3 [$2 ''$1''] på [[Box Office Mojo]]", short="[$2 Mojo]", langcode ='en', genitiv = false },
{ prop='filmsite', message ="$3 [$2 ''$1''] hos [[Filmsite.org]]", short="[$2 Filmsite.org]", langcode ='en', genitiv = false, url="http://www.filmsite.org/$1.html", regex="[A-Za-z0-9]+" },
{ prop='bfi', message ="$3 [$2 ''$1''] hos British Screen online", short="[$2 BFI]", langcode ='en', genitiv = false, url="http://www.screenonline.org.uk/film/id/$1/", regex="[A-Za-z0-9]+" },
{ prop='bbfc', message ="$3 [$2 ''$1''] på BBfc", short="[$2 BBfc]", langcode ='en', genitiv = false, url="http://www.bbfc.co.uk/node/$1", regex="\\d+" },
{ prop='bbfc2', message ="$3 [$2 ''$1''] på BBfc", short="[$2 BBfc]", langcode ='en', genitiv = false, url_f=bbfc_formatter, regex="\\d+" },
}
local messages_conf = {}
messages_conf['nb'] = {
['short-list-separator'] = " '''·''' ",
['no-data-cat'] = '[[Kategori:Artikler uten filmlenker fra Wikidata]]',
['with-data-cat'] = '[[Kategori:Artikler med filmlenker fra Wikidata]]',
['with-local-cat'] = '[[Kategori:Artikler med filmlenker fra lokale verdier]]',
['no-data-text'] = "''Artikkelen har ingen egenskaper for filmdatabaser i Wikidata''",
['no-wikilink'] = "''Artikkelen mangler oppslag i Wikidata''",
['no-wikilink-cat'] = "[[Kategori:Artikler med filmlenker og uten kobling til Wikidata]]",
['track-cat-wd-wd'] = '[[Kategori:Artikler med filmlenker for $1 fra Wikidata]]',
['track-cat-local-local'] = '[[Kategori:Artikler med filmlenker for $1 lokalt]]',
['track-cat-wd-local'] = '[[Kategori:Artikler med filmlenker med $1 fra Wikidata men verdi lokalt]]',
['track-cat-local-wd'] = '[[Kategori:Artikler med filmlenker med $1 definert lokalt men verdi fra Wikidata]]',
['track-cat-local-wd-equal'] = '[[Kategori:Artikler med filmlenker hvor $1 sin verdi lokalt er lik med Wikidata]]',
['track-cat-local-wd-unequal'] = '[[Kategori:Artikler med filmlenker hvor $1 sin verdi lokalt er ulik Wikidata]]',
}
local limits = {
['links-shown'] = 10, -- maximum number of links shown in the article.
}
local p = {}
function p.getConfiguredClaims (self, lang)
return configured_claims[lang]
end
function p.getMessage (self, lang, msg)
return messages_conf[lang][msg]
end
function p.getLimits (self)
return limits
end
-- metatable for the export
local mt = {
-- adjust the installation of the module
['__call'] = function (self, lang)
self.configured_claims = configured_claims[lang]
self.messages_conf = messages_conf[lang]
return self
end
}
-- install the metatable
setmetatable(p, mt)
return p