Module:Stock tickers/LSE

From blackwiki
Revision as of 16:19, 17 January 2016 by blackwiki>Svgalbertian (create module that supports isin or four way key)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Implements {{London Stock Exchange}}


local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.GetURL(frame)
	local args = getArgs(frame)
	return p._GetURL(args)
end
 
function p._GetURL(args)
	local ticker = args[1]
	local isin = args.isin
	local fourway = args.fourway
	local otherinput = args[2]
	
	-- If the isin wasn't explicitly passed check if it was the second variable
	if not isin and otherinput.len == 12 then
		isin = otherinput
	end
	
	-- If the four way key wasn't explicitly passed check if it was the second variable
	if not fourway and otherinput.len > 12 then
		fourway = otherinput
	end
	
	-- If you have the four way key then you know the isin 
	if fourway and not isin then
		isin.sub(fourway, 0, 12)
	end
	
	-- If you have the four way key you can link direclty to the security
	if fourway then
		url = 'http://www.londonstockexchange.com/exchange/prices-and-markets/stocks/summary/company-summary/' .. fourway .. ".html"
	-- If you have the isin you can improve the search results
	elseif isin then 
		url = 'http://www.londonstockexchange.com/exchange/searchengine/search.html?q=' .. isin
	-- Fallback to a simple ticker search
	else	
		url = 'http://www.londonstockexchange.com/exchange/searchengine/search.html?q=' .. ticker
	end

	return url
end

return p