Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const widget = new ListWidget()
- let stockout = await stocks2()
- Script.setWidget(widget)
- widget.presentSmall()
- Script.complete()
- async function stocks2(column) {
- let stocksInfo2 = await getStockData()
- let stocksStack2 = widget.addStack()
- stocksStack2.layoutVertically()
- stocksStack2.cornerRadius = 12
- stocksStack2.size = new Size(150,120)
- stocksStack2.url = "http://www.news.com.au"
- let drawContext = new DrawContext();
- drawContext.size = new Size(150, 120)
- drawContext.opaque = false
- drawContext.setFont(Font.boldSystemFont(12))
- for(j=0; j<stocksInfo2.length; j++) {
- let currentStock2 = stocksInfo2[j];
- drawContext.setTextColor(Color.red())
- var addspace, addspace2 = 0
- drawContext.drawText(currentStock2.symbol.substring(0,3), new Point(10, 4 + j*13))
- drawContext.drawText(currentStock2.price, new Point(65 - (currentStock2.price.length-4)*7, 4 + j*13))
- drawContext.drawText(currentStock2.changevalue, new Point(110 + addspace2, 4 + j*13))
- }
- stocksStack2.backgroundImage = drawContext.getImage()
- //stocksStack2.backgroundImage.size = new Size(150, 120)
- }
- async function getStockData() {
- let stocks = null;
- stocks = [ "TRS.AX", "BHP.AX"]
- let stocksdata = [];
- for(i=0; i< stocks.length; i++)
- {
- let stkdata = await queryStockData(stocks[i].trim());
- let price = stkdata.quoteSummary.result[0].price;
- let priceKeys = Object.keys(price);
- let data = {};
- data.symbol = price.symbol;
- data.changepercent = (price.regularMarketChangePercent.raw * 100).toFixed(2);
- data.changevalue = price.regularMarketChange.raw.toFixed(2);
- data.price = price.regularMarketPrice.raw.toFixed(2);
- data.high = price.regularMarketDayHigh.raw.toFixed(2);
- data.low = price.regularMarketDayLow.raw.toFixed(2);
- data.prevclose = price.regularMarketPreviousClose.raw.toFixed(2);
- data.name = price.shortName;
- stocksdata.push(data);
- }
- return(stocksdata)
- }
- async function queryStockData(symbol) {
- let url = "https://query1.finance.yahoo.com/v10/finance/quoteSummary/" + symbol + "?modules=price"
- let req = new Request(url)
- return await req.loadJSON()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement