code: def get_record(self, **kwargs):
          '''
          Get the directory record for a particular path.
          Parameters:
           iso_path - The absolute path on the ISO9660 filesystem to get the
                      record for.
           rr_path - The absolute path on the Rock Ridge filesystem to get the
                     record for.
           joliet_path - The absolute path on the Joliet filesystem to get the
                         record for.
           udf_path - The absolute path on the UDF filesystem to get the record
                      for.
          Returns:
           An object that represents the path.  This may be a dr.DirectoryRecord
           object (in the cases of iso_path, rr_path, or joliet_path), or a
           udf.UDFFileEntry object (in the case of udf_path).
          '''
          if not self._initialized:
              raise pycdlibexception.PyCdlibInvalidInput('This object is not yet initialized; call either open() or new() to create an ISO')
          num_paths = 0
          for key in kwargs:
              if key in ['joliet_path', 'rr_path', 'iso_path', 'udf_path']:
                  if kwargs[key] is not None:
                      num_paths += 1
              else:
                  raise pycdlibexception.PyCdlibInvalidInput("Invalid keyword, must be one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'")
          if num_paths != 1:
              raise pycdlibexception.PyCdlibInvalidInput("Must specify one, and only one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'")
          if 'joliet_path' in kwargs:
              return self._get_entry(None, None, self._normalize_joliet_path(kwargs['joliet_path']))
          if 'rr_path' in kwargs:
              return self._get_entry(None, utils.normpath(kwargs['rr_path']), None)
          if 'udf_path' in kwargs:
              return self._get_udf_entry(kwargs['udf_path'])
          return self._get_entry(utils.normpath(kwargs['iso_path']), None, None)