class_docstr: File handler for the ASCAT Soil Moisture BUFR product.
class_docstr_tok: ["File","handler","for","the","ASCAT","Soil","Moisture","BUFR","product","."]
docstr: Get the first and last date from the bufr file.
docstr_tok: ["Get","the","first","and","last","date","from","the","bufr","file","."]
code: def get_start_end_date(self):
      """Get the first and last date from the bufr file."""
      with open(self.filename, "rb") as fh:
          date_min = None
          date_max = None
          while True:
              # get handle for message
              bufr = ec.codes_bufr_new_from_file(fh)
              if bufr is None:
                  break
              date_min, date_max = self.extract_msg_date_extremes(
                  bufr, date_min, date_max
              )
          return date_min, date_max
  
file_path: satpy/satpy/readers/ascat_l2_soilmoisture_bufr.py
imports: import logging
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 6 for calling the AscatSoilMoistureBufr obj's underlying member method code with example usage: obj.get_start_end_date() and returns: date_min,  date_max