Как проверить, не поврежден ли файл bzip2, прежде чем распаковывать его в Ruby? - PullRequest
0 голосов
/ 04 ноября 2019
def self.extract_if_bz2(bz2_file, filename: nil)
  if File.extname(filename || bz2_file) == ".bz2"
    source = bz2_file.try(:path) || bz2_file
    dest = Tempfile.new(File.basename(bz2_file, ".bz2"))
    bz2_file_contents, status = Open3.capture2("bzip2",  "-dkc", source)
    File.write(dest.path, bz2_file_contents)
    dest
  else
    bz2_file
  end
end

моя текущая функция извлечения bz2 выглядит следующим образом, я хочу добавить какую-то проверку перед строкой open3.capture2. Спасибо!

...