docs: def download_and_extract(path, url, input_filename, target_filename):
    """Extract files from downloaded compressed archive file.
  
    Args:
      path: string directory where the files will be downloaded
      url: url containing the compressed input and target files
      input_filename: name of file containing data in source language
      target_filename: name of file containing data in target language
  
    Returns:
      Full paths to extracted input and target files.
  
    Raises:
      OSError: if the the download/extraction fails.
    """
    logging.info('Downloading and extracting data to: %s' % path)
    # Check if extracted files already exist in path
    input_file = find_file(path, input_filename)
    target_file = find_file(path, target_filename)
    if input_file and target_file:
      logging.info("Already downloaded and extracted %s." % url)
      return input_file, target_file
  
    # Download archive file if it doesn't already exist.
    compressed_file = download_from_url(path, url)
  
    # Extract compressed files
    logging.info("Extracting %s." % compressed_file)
    with tarfile.open(compressed_file, "r:gz") as corpus_tar:
      corpus_tar.extractall(path)
  
    # Return filepaths of the requested files.
    input_file = find_file(path, input_filename)
    target_file = find_file(path, target_filename)
  
    if input_file and target_file:
      return input_file, target_file
  
    raise OSError("Download/extraction failed for url %s to path %s" %
                  (url, path))