モジュール:YouTube channel

提供:エケペディア
ナビゲーションに移動 検索に移動

このモジュールについての説明文ページを モジュール:YouTube channel/doc に作成できます

local p = {};

local function setProperty(dataStore)
	
	-- メイン空間のみ
	if not mw.title.getCurrentTitle().namespace == 0 then
		return true;
	end
	
	if not mw.smw then
        return true;
    end

    local result = mw.smw.set( dataStore )

    if result == true then
        -- everything ok
    else
        -- error message to be found in result.error
    end
end	

function p.main( frame )
	local args = require( 'Module:Arguments' ).getArgs( frame, { wrappers = 'Template:YouTube_channel', removeBlanks = false, parentFirst = true });
	
	local dataStore = {}
		
		 
	-- YouTube_channel ID
	local y_id = args[1] or args.id or '';
	local formatterURL = "https://www.youtube.com/channel/$1";
	local url = mw.ustring.gsub(formatterURL, "\$1", y_id);
	 
	-- YouTube_user ID
	if args.user then
		local y_user = args.user  or '';	
		formatterURL = "https://www.youtube.com/user/$1";
		url = mw.ustring.gsub(formatterURL, "\$1", y_user);
	end

	-- YouTube handles: A new way to identify your YouTube channel
	local handle = args.handle or '';
 	if handle == '' then
         v_handle = '';
	else
        local y_handle = handle
		v_handle = '(@' ..handle.. ')';
		formatterURL = "https://www.youtube.com/@$1";
		url = mw.ustring.gsub(formatterURL, "\$1", y_handle);
	end  

	-- YouTube channel 表示名
	local name = args[2] or args.name or '';
	
	-- YouTube channel verify
	local verify = args[3] or args.verify or '';
    local v_veryfy = '';
	if verify == '' then
		verify = 'false';
         v_veryfy = '';
	else
		verify ='true';
		v_veryfy = '[[ファイル:認証バッジ.png|15px]]';
	end
   
	-- YouTube channel music
	local music = args.music or '';
    local v_music = '';
	if music == '' then
         v_music = '';
	else
		verify ='true';
		v_music = '♪';
	end
	

	--YouTube channel 表示名デフォルト
	if name == '' then
		name = mw.ustring.gsub(mw.title.getCurrentTitle().text,"%s+%b()$","");
	end
	
	-- SemanticMediaWiki
    local dataStore = {}
    dataStore['YouTubeRecord'] = '' ..y_id .. ';'..name .. ';'..verify 

--	if not args.nosmw then
--		setProperty(dataStore);
--	end

	return '[' ..url ..' ' ..name ..']' ..v_handle ..v_music ..v_veryfy ..' - [[YouTube]]';
end

return p;