def VerifyRow(self, parser_mediator, row):
    """Verifies if a line of the file is in the expected format.

    Args:
      parser_mediator (ParserMediator): mediates interactions between
          parsers and other components, such as storage and dfvfs.
      row (dict[str, str]): fields of a single row, as specified in COLUMNS.

    Returns:
      bool: True if this is the correct parser, False otherwise.
    """
    # Sleuthkit version 3 format:
    # MD5|name|inode|mode_as_string|UID|GID|size|atime|mtime|ctime|crtime
    # 0|/lost+found|11|d/drwx------|0|0|12288|1337961350|1337961350|1337961350|0

    if row['md5'] != '0' and not self._MD5_RE.match(row['md5']):
      return False

    # Check if the following columns contain a base 10 integer value if set.
    for column_name in (
        'uid', 'gid', 'size', 'atime', 'mtime', 'ctime', 'crtime'):
      column_value = row.get(column_name, None)
      if not column_value:
        continue

      try:
        int(column_value, 10)
      except (TypeError, ValueError):
        return False

    return True
Verifies if a line of the file is in the expected format.

    Args:
      parser_mediator (ParserMediator): mediates interactions between
          parsers and other components, such as storage and dfvfs.
      row (dict[str, str]): fields of a single row, as specified in COLUMNS.

    Returns:
      bool: True if this is the correct parser, False otherwise.