モジュール:Cite moviedb
表示
local p={}
function p.main( frame )
-- 入力引数格納
local type = frame.args.type or frame.args[1] or ''
local id = frame.args.id or frame.args[2] or ''
local title = frame.args.title or frame.args[3] or ''
local accessdate= frame.args.accessdate or frame.args[4] or ''
-- 必須入力チェック
if type == '' then
p.error('type を入力して下さい')
return
end
if title == '' then -- titleが空ならPAGENAMEを入れる
title = mw.allToString( mw.title.getCurrentTitle() )
end
if accessdate == '' then
p.error('accessdate を入力して下さい')
return
end
local enc_title = mw.uri.encode(title, "WIKI")
--typeを上から総当り検索し、一致すれば指定書式へ内容置換する(#switchの代わり)
local label = ({
acc = '『[https://www.allcinema.net/cinema/' ..id ..' ' ..title ..']』 - [[allcinema]]',
acp = '“[https://www.allcinema.net/person/' ..id ..' ' ..title ..']” - [[allcinema]]',
mwc = '『[https://moviewalker.jp/' ..id ..' ' ..title ..']』 - [[Movie Walker]]',
mwp = '“[https://moviewalker.jp/person/' ..id ..'/ ' ..title ..']” - [[Movie Walker]]',
edcc = '『[https://eiga.com/movie/' ..id ..'/ ' ..title ..']』 - [[映画.com]]',
edcp = '“[https://eiga.com/person/' ..id ..'/ ' ..title ..']” - [[映画.com]]',
knc = '『[http://www.kinenote.com/main//public/cinema/detail.aspx?cinema_id=' ..id ..' ' ..title ..']』 - [[キネマ旬報映画データベース|KINENOTE]]',
knp = '“[http://www.kinenote.com/main//public/cinema/person.aspx?person_id=' ..id ..' ' ..title ..']” - [[キネマ旬報映画データベース|KINENOTE]]',
jcdbc = '『[https://www.japanese-cinema-db.jp/Details?id=' ..id ..' ' ..title ..']』 - [[文化庁]]',
-- jcdbp = '“[https://www.japanese-cinema-db.jp/KeywordSearches/result?keyword=' ..enc_title ..'&keyword_kind=cast ' ..title ..']” - [[文化庁]]',
-- jcdbp = '“[https://www.japanese-cinema-db.jp/KeywordSearches/result?keyword=' ..enc_title ..'&keyword_kind=staff ' ..title ..']” - [[文化庁]]',
jmdbc = '『[http://www.jmdb.ne.jp/' ..id ..'.htm ' ..title ..']』 - [[日本映画データベース|JMDb]]',
jmdbp = '“[http://www.jmdb.ne.jp/person/' ..id ..'.htm ' ..title ..']” - [[日本映画データベース|JMDb]]',
imdbc = '『[https://www.imdb.com/title/' ..id ..'/ ' ..title ..']』' ..p.enicon() ..' - [[IMDb]]',
imdbp = '“[https://www.imdb.com/name/' ..id ..'/ ' ..title ..']”' ..p.enicon() ..' - [[IMDb]]',
amc = '『[https://www.allmovie.com/movie/' ..id ..' ' ..title ..']』' ..p.enicon() ..' - [[オールムービー|AllMovie]]',
amp = '“[https://www.allmovie.com/artist/' ..id ..' ' ..title ..']”' ..p.enicon() ..' - [[オールムービー|AllMovie]]',
})[type]
if label then
return label ..'、' ..accessdate .. '閲覧。'
end
end
-- エラーメッセージ
function p.error ( message )
return '<strong class="error">エラー:' ..message ..'</strong>'
end
-- en icon
function p.enicon ( )
return '<span style="font-size:90%; font-weight:bold;">(英語)</span>'
end
return p