Skip to content

Commit ee657b2

Browse files
authored
Merge pull request #2087 from ranaroussi/fix/debug-msg
Fix IndexError in some history() debug messages
2 parents 4672715 + e282d1b commit ee657b2

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

yfinance/scrapers/history.py

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,13 @@ def history(self, period="1mo", interval="1d",
253253
endDt = pd.to_datetime(end, unit='s')
254254
if quotes.index[quotes.shape[0] - 1] >= endDt:
255255
quotes = quotes.iloc[0:quotes.shape[0] - 1]
256-
logger.debug(f'{self.ticker}: yfinance received OHLC data: {quotes.index[0]} -> {quotes.index[-1]}')
256+
if quotes.empty:
257+
msg = f'{self.ticker}: yfinance received OHLC data: EMPTY'
258+
elif len(quotes) == 1:
259+
msg = f'{self.ticker}: yfinance received OHLC data: {quotes.index[0]} only'
260+
else:
261+
msg = f'{self.ticker}: yfinance received OHLC data: {quotes.index[0]} -> {quotes.index[-1]}'
262+
logger.debug(msg)
257263

258264
# 2) fix weird bug with Yahoo! - returning 60m for 30m bars
259265
if interval.lower() == "30m":
@@ -290,7 +296,13 @@ def history(self, period="1mo", interval="1d",
290296
self._history_metadata_formatted = True
291297
tps = self._history_metadata["tradingPeriods"]
292298
quotes = utils.fix_Yahoo_returning_prepost_unrequested(quotes, params["interval"], tps)
293-
logger.debug(f'{self.ticker}: OHLC after cleaning: {quotes.index[0]} -> {quotes.index[-1]}')
299+
if quotes.empty:
300+
msg = f'{self.ticker}: OHLC after cleaning: EMPTY'
301+
elif len(quotes) == 1:
302+
msg = f'{self.ticker}: OHLC after cleaning: {quotes.index[0]} only'
303+
else:
304+
msg = f'{self.ticker}: OHLC after cleaning: {quotes.index[0]} -> {quotes.index[-1]}'
305+
logger.debug(msg)
294306

295307
# actions
296308
dividends, splits, capital_gains = utils.parse_actions(data["chart"]["result"][0])
@@ -353,7 +365,13 @@ def history(self, period="1mo", interval="1d",
353365
df.loc[df["Capital Gains"].isna(), "Capital Gains"] = 0
354366
else:
355367
df["Capital Gains"] = 0.0
356-
logger.debug(f'{self.ticker}: OHLC after combining events: {quotes.index[0]} -> {quotes.index[-1]}')
368+
if df.empty:
369+
msg = f'{self.ticker}: OHLC after combining events: EMPTY'
370+
elif len(df) == 1:
371+
msg = f'{self.ticker}: OHLC after combining events: {df.index[0]} only'
372+
else:
373+
msg = f'{self.ticker}: OHLC after combining events: {df.index[0]} -> {df.index[-1]}'
374+
logger.debug(msg)
357375

358376
df = utils.fix_Yahoo_returning_live_separate(df, params["interval"], tz_exchange, repair=repair, currency=currency)
359377

@@ -425,7 +443,13 @@ def history(self, period="1mo", interval="1d",
425443
if interval != interval_user:
426444
df = self._resample(df, interval, interval_user, period_user)
427445

428-
logger.debug(f'{self.ticker}: yfinance returning OHLC: {df.index[0]} -> {df.index[-1]}')
446+
if df.empty:
447+
msg = f'{self.ticker}: yfinance returning OHLC: EMPTY'
448+
elif len(df) == 1:
449+
msg = f'{self.ticker}: yfinance returning OHLC: {df.index[0]} only'
450+
else:
451+
msg = f'{self.ticker}: yfinance returning OHLC: {df.index[0]} -> {df.index[-1]}'
452+
logger.debug(msg)
429453

430454
if self._reconstruct_start_interval is not None and self._reconstruct_start_interval == interval:
431455
self._reconstruct_start_interval = None

0 commit comments

Comments
 (0)