code: def extract_calc_id_datadir(filename, datadir=None):
      
      datadir = datadir or get_datadir()
      try:
          calc_id = int(filename)
      except ValueError:
          filename = os.path.abspath(filename)
          datadir = os.path.dirname(filename)
          mo = re.match(CALC_REGEX, os.path.basename(filename))
          if mo is None:
              raise ValueError('Cannot extract calc_id from %s' % filename)
          calc_id = int(mo.group(2))
      return calc_id, datadir
docs: Extract the calculation ID from the given filename or integer:
  
      >>> extract_calc_id_datadir('/mnt/ssd/oqdata/calc_25.hdf5')
      (25, '/mnt/ssd/oqdata')
      >>> extract_calc_id_datadir('/mnt/ssd/oqdata/wrong_name.hdf5')
      Traceback (most recent call last):
         ...
      ValueError: Cannot extract calc_id from /mnt/ssd/oqdata/wrong_name.hdf5