Sha256: cfcd487df5829ed7b985b599636aff26145fa69741bd9a2e0bbfb6f2edfc0b88

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

#!/usr/bin/env ruby
#------------------------------------------------------------------------------
# Copyright (c) 2014 The University of Manchester, UK.
#
# BSD Licenced. See LICENCE.rdoc for details.
#
# Author: Robert Haines
#------------------------------------------------------------------------------

require 'rubygems'
require 'ro-bundle'

def usage
  puts "Usage:\n  ro-bundle-info <ro-bundle>"
  exit 1
end

usage unless ARGV.length == 1

bundle = ARGV[0]

begin
  ro = ROBundle::File.open(bundle)
rescue ZipContainer::MalformedContainerError, ZipContainer::ZipError => err
  puts err.to_s
  exit 1
end

puts "Research Object Bundle: #{ro.to_s}"
puts "Bundle file size: #{File.size(bundle)} bytes, number of entries: #{ro.size}"

total_size = 0
total_comp = 0

ro.each do |entry|
  total_size += entry.size
  total_comp += entry.compressed_size
  comp = entry.compression_method == 0 ? "stor" : "defN"
  size = entry.size.to_s.rjust(8)
  puts "#{size} #{comp} #{entry.time} #{entry.name}"
end

ratio = ((total_size - total_comp) / total_size.to_f) * 100
puts "%d files, %d bytes uncompressed, %d bytes compressed: %.1f%%" %
  [ro.size, total_size, total_comp, ratio]

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ro-bundle-0.1.0 bin/ro-bundle-info