Module:Stock tickers/NYSE
From Thetacola Wiki
Revision as of 22:19, 1 March 2019 by en>JJMC89 (Changed protection level for "Module:Stock tickers/NYSE": Highly visible module ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)))
File:Ambox warning yellow.svg | This Lua module is used on 2,200+ 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. |
File:Full-protection-shackle.svg | 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
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|GetURL|ticker}}
Module usage
{{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] local exchange = args.exchange -- By default the exchange will be NYSE if not exchange then exchange = 'NYSE' end -- Get corrected ticker ticker = p.FormatTickerURL(ticker) -- NYSE official URL url = 'https://www.nyse.com/quote/' .. exchangeCode[exchange] .. ':' .. 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 -- Get NYSE exchange codes exchangeCode = { ['NYSE'] = 'XNYS', ['AMEX'] = 'XASE', ['ARCA'] = 'ARCX', ['NASDAQ'] = 'XNAS' } return p