Module:Stock tickers/NYSE/sandbox
Appearance
This is the module sandbox page for Module:Stock tickers/NYSE (diff). See also the companion subpage for test cases (run). |
This Lua module is used on 2,000+ pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Usage
[edit]If you supply a NYSE stock ticker to the function. It will return a URL to that stock's listing on NYSE.com.
{{#invoke:Stock tickers/NYSE|GetURL|ticker}}
Module usage
[edit]{{New York Stock Exchange}}
{{NYSE link}}
{{NYSE American}}
{{NYSE Arca}}
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]
-- Get corrected ticker
ticker = p.FormatTickerURL(ticker)
-- NYSE official URL
url = 'https://www.nyse.com/quote/XXXX:' .. ticker
return url
end
function p.FormatTickerURL(ticker)
-- Convert to upper case
ticker = string.upper(ticker)
-- NYSE.com formats for preferred shares / when issued
-- Example: Input: PRE.PRD, Output: PREpD
ticker = string.gsub(ticker, "%.PR", "p")
ticker = string.gsub(ticker, "%.WI", "w")
return ticker
end
return p