code: def handle_market_open(self, session_label, data_portal):
          
          ledger = self._ledger
          ledger.start_of_session(session_label)
  
          adjustment_reader = data_portal.adjustment_reader
          if adjustment_reader is not None:
              # this is None when running with a dataframe source
              ledger.process_dividends(
                  session_label,
                  self._asset_finder,
                  adjustment_reader,
              )
  
          self._current_session = session_label
  
          cal = self._trading_calendar
          self._market_open, self._market_close = self._execution_open_and_close(
              cal,
              session_label,
          )
  
          self.start_of_session(ledger, session_label, data_portal)
docs: Handles the start of each session.
  
          Parameters
          ----------
          session_label : Timestamp
              The label of the session that is about to begin.
          data_portal : DataPortal
              The current data portal.