본문으로 이동

모듈:PD-old-US

위키문헌, 우리 모두의 도서관.
모듈 설명문서[보기] [편집] [역사] [새로 고침]

{{PD-old-US}}를 생성합니다.

--[=[
Implements [[Template:PD-old-US]]
]=]

require('strict')

local p = {} --p stands for package

local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local PD = require('Module:PD')

function p._PD_old_US(args)
	local deathyear = PD.getAuthorDeathYear({args[1], args['사망연도'], args.deathyear})
	local pubyear = PD.getPublicationYear({args[2], args['공표연도'], args.pubyear})
	local film = args['영화'] or args.film
	local template = "PD-old-US"
	
	-- Is it correct to use this license?
	if pubyear and pubyear <= PD.PD_US_cutoff then
		return require('Module:PD-US')._PD_US({['deathyear'] = deathyear, ['category'] = args['분류'] or args.category, ['film'] = film})
	end
	if pubyear and pubyear <= 2003 then
		return PD.error_text(template .. " 틀은 2003년 전에 공표된 저작물에 사용할 수 없습니다.", template)
	end
	if deathyear and PD.currentyear - deathyear <= 70 then
		return PD.error_text(template .. " 틀은 " .. PD.currentyear - 71 .. "년 후에 사망한 저자의 저작물에 사용할 수 없습니다.", template)
	end
	
	--[=[
	assume 2002 < pubyear
	require deathyear < currentyear - 70
	work is posthumous only when deathyear <= pubyear
	work must be posthumous when:
		* deathyear < pubyear
		* deathyear <= 2002 < pubyear
		* deathyear < currentyear - 70 <= 2002 < pubyear
	works using this license will all be posthumous until 2073
	]=]
	local posthumous = yesno(args.posthumous) == true or yesno(args['사후']) == true or (deathyear and pubyear and deathyear < pubyear) or (deathyear and deathyear <= 2002) or PD.currentyear - 70 <= 2002
	
	local death_years_ago
	if deathyear then
		death_years_ago = PD.currentyear - deathyear .. "년이 지났으므로"
	else
		death_years_ago = "70년이 지났으므로"
	end
	
	local text = "<p>" .. PD.license_scope() .. " 미국에서 제작된 것으로, 2003년 1월 1일 전에 저작권자의 허가 하에 [[:en:United States Code/Title 17/Chapter 1/Section 101#publication|법적으로 공표]]되지 않았고 저자가 사망한 지 " .. death_years_ago .. " '''[[위키문헌:퍼블릭 도메인|퍼블릭 도메인]]'''입니다."
	if posthumous then
		text = text .. " 이 저작물은 '''사후 저작물'''로, 일부 국가와 지역에서는 저자의 사망 연도가 아닌 [[w:저작권 보호 기간|공표된 기간에 따라]] 저작권의 보호를 받을 수 있습니다."
	end
	text = text .. " 나중에 출판된 판본이나 번역물은 저작권의 보호를 받을 수 있습니다.</p>" .. PD.shorter_term_text(deathyear, film)
	
	return PD.license({
		['image'] = PD.PD_image,
		['image_r'] = PD.US_flag_image,
		['text'] = text,
		['category'] = args['분류'] or args.category or template
	})
end

function p.PD_old_US(frame)
	return p._PD_old_US(getArgs(frame))
end

return p