code: def get_stock_dividends(self, sid, trading_days):
          
  
          if self._adjustment_reader is None:
              return []
  
          if len(trading_days) == 0:
              return []
  
          start_dt = trading_days[0].value / 1e9
          end_dt = trading_days[-1].value / 1e9
  
          dividends = self._adjustment_reader.conn.execute(
              "SELECT * FROM stock_dividend_payouts WHERE sid = ? AND "
              "ex_date > ? AND pay_date < ?", (int(sid), start_dt, end_dt,)).\
              fetchall()
  
          dividend_info = []
          for dividend_tuple in dividends:
              dividend_info.append({
                  "declared_date": dividend_tuple[1],
                  "ex_date": pd.Timestamp(dividend_tuple[2], unit="s"),
                  "pay_date": pd.Timestamp(dividend_tuple[3], unit="s"),
                  "payment_sid": dividend_tuple[4],
                  "ratio": dividend_tuple[5],
                  "record_date": pd.Timestamp(dividend_tuple[6], unit="s"),
                  "sid": dividend_tuple[7]
              })
  
          return dividend_info
docs: Returns all the stock dividends for a specific sid that occur
          in the given trading range.
  
          Parameters
          ----------
          sid: int
              The asset whose stock dividends should be returned.
  
          trading_days: pd.DatetimeIndex
              The trading range.
  
          Returns
          -------
          list: A list of objects with all relevant attributes populated.
          All timestamp fields are converted to pd.Timestamps.