mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-09 02:42:36 +00:00
stocks/scr/set fixes and error catching changes. (#3614)
* fixes to set * test fixes * fixing finviz_view * removing \n to match styleguide * removing \n to match styleguide Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
This commit is contained in:
@@ -250,4 +250,7 @@ def screener(
|
||||
|
||||
return list(df_screen.head(n=limit)["Ticker"].values)
|
||||
|
||||
console.print(
|
||||
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
|
||||
)
|
||||
return []
|
||||
|
||||
@@ -78,7 +78,7 @@ class ScreenerController(BaseController):
|
||||
"""Constructor"""
|
||||
super().__init__(queue)
|
||||
|
||||
self.preset = "top_gainers"
|
||||
self.preset = "top_gainers.ini"
|
||||
self.screen_tickers: List = list()
|
||||
|
||||
if session and obbff.USE_PROMPT_TOOLKIT:
|
||||
@@ -228,8 +228,12 @@ class ScreenerController(BaseController):
|
||||
parser, other_args, EXPORT_BOTH_RAW_DATA_AND_FIGURES
|
||||
)
|
||||
if ns_parser:
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
self.screen_tickers = yahoofinance_view.historical(
|
||||
self.preset,
|
||||
preset,
|
||||
ns_parser.limit,
|
||||
ns_parser.start,
|
||||
ns_parser.type_candle,
|
||||
@@ -370,9 +374,13 @@ class ScreenerController(BaseController):
|
||||
)
|
||||
|
||||
if ns_parser:
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
sort_map = screener_helper.finviz_map("valuation")
|
||||
self.screen_tickers = finviz_view.screener(
|
||||
loaded_preset=self.preset,
|
||||
loaded_preset=preset,
|
||||
data_type="valuation",
|
||||
limit=ns_parser.limit,
|
||||
ascend=ns_parser.reverse,
|
||||
@@ -439,9 +447,13 @@ class ScreenerController(BaseController):
|
||||
)
|
||||
|
||||
if ns_parser:
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
sort_map = screener_helper.finviz_map("financial")
|
||||
self.screen_tickers = finviz_view.screener(
|
||||
loaded_preset=self.preset,
|
||||
loaded_preset=preset,
|
||||
data_type="financial",
|
||||
limit=ns_parser.limit,
|
||||
ascend=ns_parser.reverse,
|
||||
@@ -508,10 +520,13 @@ class ScreenerController(BaseController):
|
||||
)
|
||||
|
||||
if ns_parser:
|
||||
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
sort_map = screener_helper.finviz_map("ownership")
|
||||
self.screen_tickers = finviz_view.screener(
|
||||
loaded_preset=self.preset,
|
||||
loaded_preset=preset,
|
||||
data_type="ownership",
|
||||
limit=ns_parser.limit,
|
||||
ascend=ns_parser.reverse,
|
||||
@@ -579,8 +594,12 @@ class ScreenerController(BaseController):
|
||||
|
||||
sort_map = screener_helper.finviz_map("performance")
|
||||
if ns_parser:
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
self.screen_tickers = finviz_view.screener(
|
||||
loaded_preset=self.preset,
|
||||
loaded_preset=preset,
|
||||
data_type="performance",
|
||||
limit=ns_parser.limit,
|
||||
ascend=ns_parser.reverse,
|
||||
@@ -646,9 +665,13 @@ class ScreenerController(BaseController):
|
||||
)
|
||||
|
||||
if ns_parser:
|
||||
if self.preset.strip(".ini") in finviz_model.d_signals:
|
||||
preset = self.preset.strip(".ini")
|
||||
else:
|
||||
preset = self.preset
|
||||
sort_map = screener_helper.finviz_map("technical")
|
||||
self.screen_tickers = finviz_view.screener(
|
||||
loaded_preset=self.preset,
|
||||
loaded_preset=preset,
|
||||
data_type="technical",
|
||||
limit=ns_parser.limit,
|
||||
ascend=ns_parser.reverse,
|
||||
|
||||
@@ -115,7 +115,9 @@ def historical(
|
||||
|
||||
if l_stocks:
|
||||
if len(l_stocks) < 2:
|
||||
console.print("Please select two or more tickers.\n")
|
||||
console.print(
|
||||
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
|
||||
)
|
||||
return pd.DataFrame(), [], False
|
||||
if len(l_stocks) > limit:
|
||||
random.shuffle(l_stocks)
|
||||
@@ -150,5 +152,10 @@ def historical(
|
||||
columns=final_screener.columns,
|
||||
index=final_screener.index,
|
||||
)
|
||||
else:
|
||||
console.print(
|
||||
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
|
||||
)
|
||||
return pd.DataFrame(), [], False
|
||||
|
||||
return final_screener, l_stocks, limit_random_stocks
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
view view available presets (defaults and customs)
|
||||
set set one of the available presets
|
||||
|
||||
Preset: top_gainers
|
||||
Preset: top_gainers.ini
|
||||
|
||||
historical view historical price [YahooFinance]
|
||||
overview overview (e.g. Sector, Industry, Market Cap, Volume) [Finviz]
|
||||
|
||||
Reference in New Issue
Block a user