code: def ListSignatureIdentifiers(self):
      
      if not self._data_location:
        raise errors.BadConfigOption('Missing data location.')
  
      path = os.path.join(self._data_location, 'signatures.conf')
      if not os.path.exists(path):
        raise errors.BadConfigOption(
            'No such format specification file: {0:s}'.format(path))
  
      try:
        specification_store = self._ReadSpecificationFile(path)
      except IOError as exception:
        raise errors.BadConfigOption((
            'Unable to read format specification file: {0:s} with error: '
            '{1!s}').format(path, exception))
  
      identifiers = []
      for format_specification in specification_store.specifications:
        identifiers.append(format_specification.identifier)
  
      self._output_writer.Write('Available signature identifiers:\n')
      self._output_writer.Write(
          '\n'.join(textwrap.wrap(', '.join(sorted(identifiers)), 79)))
      self._output_writer.Write('\n\n')
docs: Lists the signature identifier.
  
      Raises:
        BadConfigOption: if the data location is invalid.