#!/usr/bin/python
import sys, h5py, re

links = set([])

if len(sys.argv) <= 2:
  print "%s <input files> <output file>" % sys.argv[0]
  sys.exit(1)

outfilename = sys.argv[-1]
del sys.argv[-1]
del sys.argv[0]

outfile = h5py.File(outfilename, 'w')

for infilename in sys.argv:
  print infilename
  infile = h5py.File(infilename, "r")
  items = infile.keys()

  for item in items:
    if not item in links:
      if item == 'Parameters and Global Attributes':
        links.add(item)
        infile.copy(item, outfile)
        outfile['Parameters and Global Attributes'].attrs['nioprocs'] = 1
      else:
        #if 'rl=5' in item and 'it=205824' in item:
        if 'rl=5' in item:
          outfile[item] = h5py.ExternalLink(infilename, item)
          #infile.copy(item, outfile)
          links.add(item)
        else:
          print "skipping "+item
  infile.close()

