モジュール:Cite moviedb

モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄]

Template:Cite moviedbの内部モジュール。

使い方[編集]

書式[編集]

{{#invoke:Cite moviedb|main}}

関連項目[編集]

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