mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
Remove stocks/disc/cnews command (#4920)
* Remove stocks/disc/cnews command from terminal and sdk * Remove disc/cnews tests and test data * Remove cnews from default sources, translations and intros * Remove old test data files that are not used anymore * Add pydocstyle ignore statement to pyproject toml * Fix print help in stocks/disc controller test
This commit is contained in:
committed by
GitHub
parent
2e92982387
commit
18204202ac
@@ -108,7 +108,6 @@ class StocksController(model.StocksRoot):
|
||||
`ipo`: Get IPO calendar\n
|
||||
`losers`: Get top losers. [Source: Yahoo Finance]\n
|
||||
`lowfloat`: Returns low float DataFrame\n
|
||||
`news`: Gets news. [Source: SeekingAlpha]\n
|
||||
`pipo`: Past IPOs dates. [Source: Finnhub]\n
|
||||
`rtat`: Gets the top 10 retail stocks per day\n
|
||||
`trending`: Returns a list of trending articles\n
|
||||
|
||||
@@ -156,7 +156,6 @@ class StocksDiscovery(Category):
|
||||
`ipo`: Get IPO calendar\n
|
||||
`losers`: Get top losers. [Source: Yahoo Finance]\n
|
||||
`lowfloat`: Returns low float DataFrame\n
|
||||
`news`: Gets news. [Source: SeekingAlpha]\n
|
||||
`pipo`: Past IPOs dates. [Source: Finnhub]\n
|
||||
`rtat`: Gets the top 10 retail stocks per day\n
|
||||
`trending`: Returns a list of trending articles\n
|
||||
@@ -182,7 +181,6 @@ class StocksDiscovery(Category):
|
||||
self.ipo = lib.stocks_disc_finnhub_model.get_ipo_calendar
|
||||
self.losers = lib.stocks_disc_yahoofinance_model.get_losers
|
||||
self.lowfloat = lib.stocks_disc_shortinterest_model.get_low_float
|
||||
self.news = lib.stocks_disc_seeking_alpha_model.get_news
|
||||
self.pipo = lib.stocks_disc_finnhub_model.get_past_ipo
|
||||
self.rtat = lib.stocks_disc_nasdaq_model.get_retail_tickers
|
||||
self.trending = lib.stocks_disc_seeking_alpha_model.get_trending_list
|
||||
|
||||
1
openbb_terminal/core/sdk/trail_map.csv
vendored
1
openbb_terminal/core/sdk/trail_map.csv
vendored
@@ -418,7 +418,6 @@ stocks.disc.hotpenny,stocks_disc_shortinterest_model.get_today_hot_penny_stocks,
|
||||
stocks.disc.ipo,stocks_disc_finnhub_model.get_ipo_calendar,
|
||||
stocks.disc.losers,stocks_disc_yahoofinance_model.get_losers,
|
||||
stocks.disc.lowfloat,stocks_disc_shortinterest_model.get_low_float,
|
||||
stocks.disc.news,stocks_disc_seeking_alpha_model.get_news,
|
||||
stocks.disc.pipo,stocks_disc_finnhub_model.get_past_ipo,
|
||||
stocks.disc.rtat,stocks_disc_nasdaq_model.get_retail_tickers,
|
||||
stocks.disc.trending,stocks_disc_seeking_alpha_model.get_trending_list,
|
||||
|
||||
|
1
openbb_terminal/miscellaneous/i18n/en.yml
vendored
1
openbb_terminal/miscellaneous/i18n/en.yml
vendored
@@ -202,7 +202,6 @@ en:
|
||||
stocks/disc/arkord: orders by ARK Investment Management LLC
|
||||
stocks/disc/upcoming: upcoming earnings release dates
|
||||
stocks/disc/trending: trending news
|
||||
stocks/disc/cnews: customized news (buybacks, ipos, spacs, healthcare, politics)
|
||||
stocks/disc/lowfloat: low float stocks under 10M shares float
|
||||
stocks/disc/hotpenny: today's hot penny stocks
|
||||
stocks/disc/rtat: top 10 retail traded stocks per day
|
||||
|
||||
@@ -158,9 +158,6 @@
|
||||
"trending": [
|
||||
"SeekingAlpha"
|
||||
],
|
||||
"cnews": [
|
||||
"SeekingAlpha"
|
||||
],
|
||||
"lowfloat": [
|
||||
"Fidelity"
|
||||
],
|
||||
@@ -542,12 +539,6 @@
|
||||
"FinancialModelingPrep",
|
||||
"YahooFinance"
|
||||
],
|
||||
"overview": [
|
||||
"YahooFinance",
|
||||
"Finviz",
|
||||
"FinancialModelingPrep",
|
||||
"AlphaVantage"
|
||||
],
|
||||
"divs": [
|
||||
"YahooFinance"
|
||||
],
|
||||
@@ -561,15 +552,9 @@
|
||||
"rot": [
|
||||
"Finnhub"
|
||||
],
|
||||
"score": [
|
||||
"FinancialModelingPrep"
|
||||
],
|
||||
"warnings": [
|
||||
"MarketWatch"
|
||||
],
|
||||
"mgmt": [
|
||||
"BusinessInsider"
|
||||
],
|
||||
"shrs": [
|
||||
"YahooFinance"
|
||||
],
|
||||
@@ -641,9 +626,6 @@
|
||||
"sec": [
|
||||
"Nasdaq"
|
||||
],
|
||||
"analysis": [
|
||||
"Elect"
|
||||
],
|
||||
"earnings": [
|
||||
"AlphaVantage",
|
||||
"YahooFinance"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
""" Discovery Controller Module """
|
||||
"""Discovery Controller Module."""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import argparse
|
||||
@@ -57,7 +57,6 @@ class DiscoveryController(BaseController):
|
||||
"trending",
|
||||
"lowfloat",
|
||||
"hotpenny",
|
||||
"cnews",
|
||||
"rtat",
|
||||
"divcal",
|
||||
"heatmap",
|
||||
@@ -75,32 +74,7 @@ class DiscoveryController(BaseController):
|
||||
"shares",
|
||||
]
|
||||
arkord_fund_choices = ["ARKK", "ARKF", "ARKW", "ARKQ", "ARKG", "ARKX", ""]
|
||||
cnews_type_choices = [
|
||||
nt.lower()
|
||||
for nt in [
|
||||
"Top-News",
|
||||
"On-The-Move",
|
||||
"Market-Pulse",
|
||||
"Notable-Calls",
|
||||
"Buybacks",
|
||||
"Commodities",
|
||||
"Crypto",
|
||||
"Issuance",
|
||||
"Global",
|
||||
"Guidance",
|
||||
"IPOs",
|
||||
"SPACs",
|
||||
"Politics",
|
||||
"M-A",
|
||||
"Consumer",
|
||||
"Energy",
|
||||
"Financials",
|
||||
"Healthcare",
|
||||
"MLPs",
|
||||
"REITs",
|
||||
"Technology",
|
||||
]
|
||||
]
|
||||
|
||||
PATH = "/stocks/disc/"
|
||||
dividend_columns = [
|
||||
"Name",
|
||||
@@ -140,7 +114,6 @@ class DiscoveryController(BaseController):
|
||||
mt.add_cmd("arkord", "Cathies Ark")
|
||||
mt.add_cmd("upcoming", "Seeking Alpha")
|
||||
mt.add_cmd("trending", "Seeking Alpha")
|
||||
mt.add_cmd("cnews", "Seeking Alpha")
|
||||
mt.add_cmd("lowfloat", "Fidelity")
|
||||
mt.add_cmd("hotpenny", "Shortinterest")
|
||||
mt.add_cmd("rtat", "NASDAQ Data Link")
|
||||
@@ -774,49 +747,6 @@ class DiscoveryController(BaseController):
|
||||
else None,
|
||||
)
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def call_cnews(self, other_args: List[str]):
|
||||
"""Process cnews command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
add_help=False,
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
prog="cnews",
|
||||
description="""Customized news. [Source: Seeking Alpha]""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--type",
|
||||
action="store",
|
||||
dest="s_type",
|
||||
choices=self.cnews_type_choices,
|
||||
default="top-news",
|
||||
help="number of news to display",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--limit",
|
||||
action="store",
|
||||
dest="limit",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="limit of news to display",
|
||||
)
|
||||
if other_args and "-" not in other_args[0][0]:
|
||||
other_args.insert(0, "-t")
|
||||
|
||||
ns_parser = self.parse_known_args_and_warn(
|
||||
parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
|
||||
)
|
||||
if ns_parser:
|
||||
seeking_alpha_view.display_news(
|
||||
news_type=ns_parser.s_type,
|
||||
limit=ns_parser.limit,
|
||||
export=ns_parser.export,
|
||||
sheet_name=" ".join(ns_parser.sheet_name)
|
||||
if ns_parser.sheet_name
|
||||
else None,
|
||||
)
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def call_hotpenny(self, other_args: List[str]):
|
||||
"""Process hotpenny command"""
|
||||
|
||||
@@ -3,7 +3,6 @@ __docformat__ = "numpy"
|
||||
|
||||
import logging
|
||||
from datetime import date, timedelta
|
||||
from typing import Dict, List
|
||||
|
||||
import pandas as pd
|
||||
from bs4 import BeautifulSoup
|
||||
@@ -213,40 +212,3 @@ def get_news_html(news_type: str = "Top-News") -> dict:
|
||||
articles_html = request(sa_url, headers={"User-Agent": get_user_agent()}).json()
|
||||
|
||||
return articles_html
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def get_news(news_type: str = "Top-News", limit: int = 5) -> List:
|
||||
"""Gets news. [Source: SeekingAlpha]
|
||||
|
||||
Parameters
|
||||
----------
|
||||
news_type : str
|
||||
From: Top-News, On-The-Move, Market-Pulse, Notable-Calls, Buybacks, Commodities, Crypto, Issuance, Global,
|
||||
Guidance, IPOs, SPACs, Politics, M-A, Consumer, Energy, Financials, Healthcare, MLPs, REITs, Technology
|
||||
limit : int
|
||||
Number of news to display
|
||||
|
||||
Returns
|
||||
-------
|
||||
List[dict]
|
||||
List of dict news
|
||||
"""
|
||||
news_articles: Dict = get_news_html(news_type)
|
||||
news_to_display = list()
|
||||
|
||||
if "data" in news_articles:
|
||||
for idx, news in enumerate(news_articles["data"]):
|
||||
if idx > limit:
|
||||
break
|
||||
|
||||
news_to_display.append(
|
||||
{
|
||||
"publishOn": news["attributes"]["publishOn"].replace("T", " ")[:-6],
|
||||
"id": news["id"],
|
||||
"title": news["attributes"]["title"],
|
||||
"url": news["links"]["canonical"],
|
||||
}
|
||||
)
|
||||
|
||||
return news_to_display
|
||||
|
||||
@@ -4,7 +4,7 @@ __docformat__ = "numpy"
|
||||
import logging
|
||||
import os
|
||||
from datetime import date
|
||||
from typing import List, Optional
|
||||
from typing import Optional
|
||||
|
||||
import pandas as pd
|
||||
|
||||
@@ -128,49 +128,3 @@ def news(
|
||||
df_articles,
|
||||
sheet_name,
|
||||
)
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def display_news(
|
||||
news_type: str = "top-news",
|
||||
limit: int = 5,
|
||||
export: str = "",
|
||||
sheet_name: Optional[str] = None,
|
||||
):
|
||||
"""Display news. [Source: SeekingAlpha]
|
||||
|
||||
Parameters
|
||||
----------
|
||||
news_type : str
|
||||
From: Top-News, On-The-Move, Market-Pulse, Notable-Calls, Buybacks, Commodities, Crypto, Issuance, Global,
|
||||
Guidance, IPOs, SPACs, Politics, M-A, Consumer, Energy, Financials, Healthcare, MLPs, REITs, Technology
|
||||
limit : int
|
||||
Number of news to display
|
||||
export : str
|
||||
Export dataframe data to csv,json,xlsx file
|
||||
"""
|
||||
news_to_display: List = seeking_alpha_model.get_news(news_type, limit)
|
||||
|
||||
if not news:
|
||||
console.print("No news found.", "\n")
|
||||
|
||||
else:
|
||||
df_news = pd.DataFrame(
|
||||
news_to_display, columns=["publishOn", "id", "title", "url"]
|
||||
)
|
||||
df_news = df_news.drop("id", axis=1)
|
||||
print_rich_table(
|
||||
df_news,
|
||||
show_index=False,
|
||||
title=f"{news_type}",
|
||||
export=bool(export),
|
||||
limit=limit,
|
||||
)
|
||||
|
||||
export_data(
|
||||
export,
|
||||
os.path.dirname(os.path.abspath(__file__)),
|
||||
"cnews : " + news_type,
|
||||
pd.DataFrame(news_to_display),
|
||||
sheet_name,
|
||||
)
|
||||
|
||||
1
pyproject.toml
vendored
1
pyproject.toml
vendored
@@ -161,6 +161,7 @@ build-backend = "poetry.core.masonry.api"
|
||||
[tool.pydocstyle]
|
||||
convention = "numpy"
|
||||
match = '((?!test_).)*\.py'
|
||||
ignore = "D401"
|
||||
|
||||
|
||||
[tool.ruff]
|
||||
|
||||
@@ -11,9 +11,7 @@ from openbb_terminal.core.session.current_user import PreferencesModel, copy_use
|
||||
from openbb_terminal.stocks.discovery import disc_controller
|
||||
|
||||
|
||||
# pylint: disable=E1101
|
||||
# pylint: disable=W0603
|
||||
# pylint: disable=E1111
|
||||
# pylint: disable=E1101,W0603,E1111
|
||||
|
||||
|
||||
@pytest.mark.vcr(record_mode="none")
|
||||
@@ -232,21 +230,6 @@ def test_call_func_expect_queue(expected_queue, queue, func):
|
||||
],
|
||||
{"limit": 5, "export": "csv", "sheet_name": None},
|
||||
),
|
||||
(
|
||||
"call_cnews",
|
||||
"seeking_alpha_view.display_news",
|
||||
[
|
||||
"--type=technology",
|
||||
"--limit=5",
|
||||
"--export=csv",
|
||||
],
|
||||
{
|
||||
"news_type": "technology",
|
||||
"limit": 5,
|
||||
"export": "csv",
|
||||
"sheet_name": None,
|
||||
},
|
||||
),
|
||||
(
|
||||
"call_fipo",
|
||||
"finnhub_view.future_ipo",
|
||||
@@ -376,7 +359,6 @@ def test_call_func(tested_func, mocked_func, other_args, called_with, mocker):
|
||||
"call_active",
|
||||
"call_arkord",
|
||||
"call_asc",
|
||||
"call_cnews",
|
||||
"call_fipo",
|
||||
"call_gainers",
|
||||
"call_gtech",
|
||||
|
||||
@@ -30,8 +30,3 @@ def test_get_trending_list(recorder):
|
||||
@pytest.mark.vcr
|
||||
def test_get_news_html():
|
||||
seeking_alpha_model.get_news_html()
|
||||
|
||||
|
||||
@pytest.mark.vcr
|
||||
def test_get_news():
|
||||
seeking_alpha_model.get_news()
|
||||
|
||||
@@ -33,13 +33,3 @@ def test_news():
|
||||
limit=2,
|
||||
export="",
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.vcr
|
||||
@pytest.mark.record_stdout
|
||||
def test_display_news():
|
||||
seeking_alpha_view.display_news(
|
||||
news_type="Crypto",
|
||||
limit=2,
|
||||
export="",
|
||||
)
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
|
||||
Discovery:
|
||||
cls clear screen
|
||||
?/help show this menu again
|
||||
q quit this menu, and shows back to main menu
|
||||
quit quit to abandon program
|
||||
|
||||
Geek of Wall St:
|
||||
rtearn realtime earnings from and expected moves
|
||||
Finnhub:
|
||||
pipo past IPOs dates
|
||||
fipo future IPOs dates
|
||||
Yahoo Finance:
|
||||
gainers show latest top gainers
|
||||
losers show latest top losers
|
||||
ugs undervalued stocks with revenue and earnings growth in excess of 25%
|
||||
gtech tech stocks with revenue and earnings growth more than 25%
|
||||
active most active stocks by intraday trade volume
|
||||
ulc potentially undervalued large cap stocks
|
||||
asc small cap stocks with earnings growth rates better than 25%
|
||||
Fidelity:
|
||||
ford orders by Fidelity Customers
|
||||
cathiesark.com:
|
||||
arkord orders by ARK Investment Management LLC
|
||||
Seeking Alpha:
|
||||
upcoming upcoming earnings release dates
|
||||
trending trending news
|
||||
cnews customized news (buybacks, ipos, spacs, healthcare, politics)
|
||||
shortinterest.com
|
||||
lowfloat low float stocks under 10M shares float
|
||||
pennystockflow.com
|
||||
hotpenny today's hot penny stocks
|
||||
Finance Database:
|
||||
fds advanced Equities search based on country, sector, industry, name and/or description
|
||||
NASDAQ Data Link (Formerly Quandl):
|
||||
rtat top 10 retail traded stocks per day
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
|
||||
Discovery:
|
||||
cls clear screen
|
||||
?/help show this menu again
|
||||
q quit this menu, and shows back to main menu
|
||||
quit quit to abandon program
|
||||
|
||||
Geek of Wall St:
|
||||
rtearn realtime earnings from and expected moves
|
||||
Finnhub:
|
||||
pipo past IPOs dates
|
||||
fipo future IPOs dates
|
||||
Yahoo Finance:
|
||||
gainers show latest top gainers
|
||||
losers show latest top losers
|
||||
ugs undervalued stocks with revenue and earnings growth in excess of 25%
|
||||
gtech tech stocks with revenue and earnings growth more than 25%
|
||||
active most active stocks by intraday trade volume
|
||||
ulc potentially undervalued large cap stocks
|
||||
asc small cap stocks with earnings growth rates better than 25%
|
||||
Fidelity:
|
||||
ford orders by Fidelity Customers
|
||||
cathiesark.com:
|
||||
arkord orders by ARK Investment Management LLC
|
||||
Seeking Alpha:
|
||||
upcoming upcoming earnings release dates
|
||||
trending trending news
|
||||
cnews customized news (buybacks, ipos, spacs, healthcare, politics)
|
||||
shortinterest.com
|
||||
lowfloat low float stocks under 10M shares float
|
||||
pennystockflow.com
|
||||
hotpenny today's hot penny stocks
|
||||
Finance Database:
|
||||
fds advanced Equities search based on country, sector, industry, name and/or description
|
||||
NASDAQ Data Link (Formerly Quandl):
|
||||
rtat top 10 retail traded stocks per day
|
||||
|
||||
The command selected doesn't exist
|
||||
|
||||
Did you mean 'quit'?
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
arkord orders by ARK Investment Management LLC [CathiesArk]
|
||||
upcoming upcoming earnings release dates [SeekingAlpha]
|
||||
trending trending news [SeekingAlpha]
|
||||
cnews customized news (buybacks, ipos, spacs, healthcare, politics) [SeekingAlpha]
|
||||
lowfloat low float stocks under 10M shares float [Fidelity]
|
||||
hotpenny today's hot penny stocks [YahooFinance, Shortinterest]
|
||||
rtat top 10 retail traded stocks per day [Nasdaq]
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
|
||||
Discovery:
|
||||
cls clear screen
|
||||
?/help show this menu again
|
||||
q quit this menu, and shows back to main menu
|
||||
quit quit to abandon program
|
||||
|
||||
Geek of Wall St:
|
||||
rtearn realtime earnings from and expected moves
|
||||
Finnhub:
|
||||
pipo past IPOs dates
|
||||
fipo future IPOs dates
|
||||
Yahoo Finance:
|
||||
gainers show latest top gainers
|
||||
losers show latest top losers
|
||||
ugs undervalued stocks with revenue and earnings growth in excess of 25%
|
||||
gtech tech stocks with revenue and earnings growth more than 25%
|
||||
active most active stocks by intraday trade volume
|
||||
ulc potentially undervalued large cap stocks
|
||||
asc small cap stocks with earnings growth rates better than 25%
|
||||
Fidelity:
|
||||
ford orders by Fidelity Customers
|
||||
cathiesark.com:
|
||||
arkord orders by ARK Investment Management LLC
|
||||
Seeking Alpha:
|
||||
upcoming upcoming earnings release dates
|
||||
trending trending news
|
||||
cnews customized news (buybacks, ipos, spacs, healthcare, politics)
|
||||
shortinterest.com
|
||||
lowfloat low float stocks under 10M shares float
|
||||
pennystockflow.com
|
||||
hotpenny today's hot penny stocks
|
||||
Finance Database:
|
||||
fds advanced Equities search based on country, sector, industry, name and/or description
|
||||
NASDAQ Data Link (Formerly Quandl):
|
||||
rtat top 10 retail traded stocks per day
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Empty DataFrame
|
||||
Columns: [publishOn, title, url]
|
||||
Index: []
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Discovery
|
||||
keywords: [stocks, discovery, disc, menu, submenu, pipo, fipo, gainers, losers, ugs, gtech, active, ulc, asc, ford, arkord, upcoming, trending, cnews, lowfloat, hotpenny, rtat, divcal, dividends, short, trending, news, how to, usage, examples, filings, screener, overview]
|
||||
keywords: [stocks, discovery, disc, menu, submenu, pipo, fipo, gainers, losers, ugs, gtech, active, ulc, asc, ford, arkord, upcoming, trending, lowfloat, hotpenny, rtat, divcal, dividends, short, trending, news, how to, usage, examples, filings, screener, overview]
|
||||
description: Introducing the Discovery menu, within the Stocks menu. This guide will empower the user to get the most out of this set of features.
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user