Modul:External links/conf/Autoritetsdata
< Modul:External links | conf
Hopp til navigering
Hopp til søk
Revisjon per 22. jan. 2018 kl. 19:15 av Toro Andersen (diskusjon | bidrag) (Én revisjon er importert)
Dokumentasjon for denne modulen kan opprettes på Modul:External links/conf/Autoritetsdata/dok
local function bibsys_formatter( id )
-- return 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&cql=bs.autid+%3D+' .. id .. '&feltselect=bs.autid'
return 'http://bibsys-almaprimo.hosted.exlibrisgroup.com/primo_library/libweb/action/dlSearch.do?institution=BIBSYS&vid=BIBSYS&search_scope=blended_scope&query=lsr39,exact,' .. id:gsub('^x0*', '')
end
--Returns the ISNI check digit isni must be a string where the 15 first elements are digits
local function getIsniCheckDigit( isni )
local total = 0
for i = 1, 15 do
local digit = isni:byte( i ) - 48 --Get integer value
total = (total + digit) * 2
end
local remainder = total % 11
local result = (12 - remainder) % 11
if result == 10 then
return "X"
end
return tostring( result )
end
--Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid
--See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier
local function validateIsni( id )
id = id:gsub( '[ %-]', '' ):upper()
if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then
return false
end
if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then
return false
end
return id
end
local function isni_formatter( id )
id = validateIsni( id )
if not id then
return false
end
return 'http://isni.org/' .. id
end
local function bnfdata_formatter( id )
--Add cb prefix if it has been removed
if not string.match( id, '^cb.+$' ) then
id = 'cb' .. id
end
return 'http://data.bnf.fr/ark:/12148/' .. id
end
local configured_claims = {}
configured_claims['nb'] = {
{ prop='P4574', message ="$3 [$2 ''$1''] i Historisk befolkningsregister", short="[$2 HB]", langcode ='no', genitiv = true }, -- if this exist, then we must make sure it is included
{ prop='P1015', message ="$3 [$2 ''$1''] hos BIBSYS", short="[$2 BIBSYS]", langcode ='nb', genitiv = false, url_f=bibsys_formatter },
{ prop='P214', message ="$3 [$2 ''$1''] hos VIAF", short="[$2 VIAF]", langcode ='en', genitiv = false },
{ prop='P227', message ="$3 [$2 ''$1''] hos GND", short="[$2 GND]", langcode ='de', genitiv = false },
{ prop='P244', message ="$3 [$2 ''$1''] hos LCCN", short="[$2 LCCN]", langcode ='en', genitiv = false },
{ prop='P213', message ="$3 [$2 ''$1''] hos ISNI", short="[$2 ISNI]", langcode ='en', genitiv = false, url_f=isni_formatter },
{ prop='P268', message ="$3 [$2 ''$1''] hos BNF", short="[$2 BNF]", langcode ='fr', genitiv = false },
{ prop='P268', message ="$3 [$2 ''$1''] hos BNF2", short="[$2 BNF (data)]", langcode ='fr', genitiv = false, url_f=bnfdata_formatter },
{ prop='P496', message ="$3 [$2 ''$1''] hos ORCID", short="[$2 ORCID]", langcode ='en', genitiv = false },
{ prop='P906', message ="$3 [$2 ''$1''] hos LIBRIS", short="[$2 LIBRIS]", langcode ='en', genitiv = false },
{ prop='P269', message ="$3 [$2 ''$1''] hos SUDOC", short="[$2 SUDOC]", langcode ='fr', genitiv = false },
{ prop='P651', message ="$3 [$2 ''$1''] hos BPN", short="[$2 BPN]", langcode ='en', genitiv = false },
{ prop='P1053', message ="$3 [$2 ''$1''] hos ResearcherID", short="[$2 ResearcherID]", langcode ='en', genitiv = false },
{ prop='P245', message ="$3 [$2 ''$1''] hos ULAN", short="[$2 ULAN]", langcode ='en', genitiv = false },
{ prop='P902', message ="$3 [$2 ''$1''] hos HDS", short="[$2 HDS]", langcode ='en', genitiv = false },
{ prop='P886', message ="$3 [$2 ''$1''] hos LIR", short="[$2 LIR]", langcode ='en', genitiv = false },
{ prop='P549', message ="$3 [$2 ''$1''] hos MGP", short="[$2 MGP]", langcode ='en', genitiv = false },
{ prop='P409', message ="$3 [$2 ''$1''] hos NLA", short="[$2 NLA]", langcode ='en', genitiv = false },
{ prop='P349', message ="$3 [$2 ''$1''] hos NDL", short="[$2 NDL]", langcode ='en', genitiv = false },
{ prop='P1048', message ="$3 [$2 ''$1''] hos NCL", short="[$2 NCL]", langcode ='en', genitiv = false },
{ prop='P691', message ="$3 [$2 ''$1''] hos NKC", short="[$2 NKC]", langcode ='en', genitiv = false },
{ prop='P640', message ="$3 [$2 ''$1''] hos Léonore", short="[$2 Léonore]", langcode ='en', genitiv = false },
{ prop='P396', message ="$3 [$2 ''$1''] hos ICCU", short="[$2 ICCU]", langcode ='en', genitiv = false },
{ prop='P947', message ="$3 [$2 ''$1''] hos RLS", short="[$2 RLS]", langcode ='en', genitiv = false },
{ prop='P428', message ="$3 [$2 ''$1''] hos Botanist", short="[$2 Botanist]", langcode ='en', genitiv = false },
{ prop='P1222', message ="$3 [$2 ''$1''] hos NARA", short="[$2 NARA]", langcode ='en', genitiv = false },
{ prop='P1223', message ="$3 [$2 ''$1''] hos NARA", short="[$2 NARA]", langcode ='en', genitiv = false },
{ prop='P1157', message ="$3 [$2 ''$1''] hos US Congress", short="[$2 US Congress]", langcode ='en', genitiv = false },
{ prop='P950', message ="$3 [$2 ''$1''] hos BNE", short="[$2 BNE]", langcode ='en', genitiv = false },
{ prop='P271', message ="$3 [$2 ''$1''] hos CiNii", short="[$2 CiNii]", langcode ='en', genitiv = false },
{ prop='P1362', message ="$3 [$2 ''$1''] hos TLS", short="[$2 TLS]", langcode ='en', genitiv = false },
{ prop='P781', message ="$3 [$2 ''$1''] hos SIKART", short="[$2 SIKART]", langcode ='en', genitiv = false },
{ prop='P646', message ="$3 [$2 ''$1''] hos Freebase", short="[$2 Freebase]", langcode ='en', genitiv = false },
{ prop='P1248', message ="$3 [$2 ''$1''] hos KulturNav", short="[$2 KulturNav]", langcode ='en', genitiv = false },
{ prop='P2287', message ="$3 [$2 ''$1''] hos CRIStin", short="[$2 CRIStin]", langcode ='en', genitiv = false },
{ prop='P1566', message ="$3 [$2 ''$1''] hos GeoNames", short="[$2 GeoNames]", langcode ='en', genitiv = false },
{ prop='P1850', message ="$3 [$2 ''$1''] hos SSR (navn)", short="[$2 SSR (navn)]", langcode ='en', genitiv = false },
{ prop='P1732', message ="$3 [$2 ''$1''] hos Naturbase", short="[$2 Naturbase]", langcode ='en', genitiv = false },
{ prop='P1866', message ="$3 [$2 ''$1''] hos CatolicDiocese", short="[$2 CatolicDiocese]", langcode ='en', genitiv = false },
{ prop='P1305', message ="$3 [$2 ''$1''] hos SkyscraperCenter", short="[$2 SkyscraperCenter]", langcode ='en', genitiv = false },
{ prop='P1617', message ="$3 [$2 ''$1''] hos BBC Things", short="[$2 BBC Things]", langcode ='en', genitiv = false },
{ prop='P2333', message ="$3 [$2 ''$1''] hos BR orgnr", short="[$2 BR orgnr]", langcode ='en', genitiv = false },
{ prop='P2355', message ="$3 [$2 ''$1''] hos UNESCO lang", short="[$2 UNESCO lang]", langcode ='en', genitiv = false },
--{ prop='P758', message ="$3 [$2 ''$1''] hos Riksantikvaren (nor)", short="[$2 Riksantikvaren (nor)]", langcode ='en', genitiv = false },
{ prop='P1284', message ="$3 [$2 ''$1''] hos Munzinger (iba)", short="[$2 Munzinger (iba)]", langcode ='en', genitiv = false },
{ prop='P1285', message ="$3 [$2 ''$1''] hos Munzinger (sport)", short="[$2 Munzinger (sport)]", langcode ='en', genitiv = false },
{ prop='P1286', message ="$3 [$2 ''$1''] hos Munzinger (pop)", short="[$2 Munzinger (pop)]", langcode ='en', genitiv = false },
{ prop='P434', message ="$3 [$2 ''$1''] hos MusicBrainz (artist)", short="[$2 MusicBrainz (artist)]", langcode ='en', genitiv = false },
{ prop='P436', message ="$3 [$2 ''$1''] hos MusicBrainz (release-group)", short="[$2 MusicBrainz (release-group)]", langcode ='en', genitiv = false },
{ prop='P966', message ="$3 [$2 ''$1''] hos MusicBrainz (label)", short="[$2 MusicBrainz (label)]", langcode ='en', genitiv = false },
{ prop='P982', message ="$3 [$2 ''$1''] hos MusicBrainz (area)", short="[$2 MusicBrainz (area)]", langcode ='en', genitiv = false },
{ prop='P1953', message ="$3 [$2 ''$1''] hos Discogs (artist)", short="[$2 Discogs (artist)]", langcode ='en', genitiv = false },
{ prop='P1728', message ="$3 [$2 ''$1''] hos AllMusic (artist)", short="[$2 AllMusic (artist)]", langcode ='en', genitiv = false },
{ prop='P1847', message ="$3 [$2 ''$1''] hos nb.no (nmff)", short="[$2 NMFF]", langcode ='nb', genitiv = false },
{ prop='P804', message ="$3 [$2 ''$1''] hos US Geological Survey's Geographic Names Information System", short="[$2 GNIS]", langcode ='en', genitiv = false },
{ prop='P590', message ="$3 [$2 ''$1''] hos US Geological Survey's Geographic Names Information System", short="[$2 GNIS]", langcode ='en', genitiv = false },
{ prop='P3230', message ="$3 [$2 ''$1''] i SCAR Composite Gazetteer of Antarctica", short="[$2 SCAR]", langcode ='en', genitiv = false },
}
local messages_conf = {}
messages_conf['nb'] = {
['short-list-separator'] = " '''·''' ",
['no-data-cat'] = '[[Kategori:Artikler uten autoritetsdatalenker fra Wikidata]]',
['with-data-cat'] = '[[Kategori:Artikler med autoritetsdatalenker fra Wikidata]]',
['with-local-cat'] = '[[Kategori:Artikler med autoritetsdatalenker fra lokale verdier]]',
['no-data-text'] = "''Artikkelen har ingen egenskaper for autoritetsdata i Wikidata''",
['no-wikilink'] = "''Artikkelen mangler oppslag i Wikidata''",
['no-wikilink-cat'] = "[[Kategori:Artikler med autoritetsdatalenker og uten kobling til Wikidata]]",
['track-cat-wd-wd'] = '[[Kategori:Artikler med autoritetsdatalenker for $1 fra Wikidata]]',
['track-cat-local-local'] = '[[Kategori:Artikler med autoritetsdatalenker for $1 lokalt]]',
['track-cat-wd-local'] = '[[Kategori:Artikler med autoritetsdatalenker med $1 fra Wikidata men verdi lokalt]]',
['track-cat-local-wd'] = '[[Kategori:Artikler med autoritetsdatalenker med $1 definert lokalt men verdi fra Wikidata]]',
['track-cat-local-wd-equal'] = '[[Kategori:Artikler med autoritetsdatalenker hvor $1 sin verdi lokalt er lik med Wikidata]]',
['track-cat-local-wd-unequal'] = '[[Kategori:Artikler med autoritetsdatalenker 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