#!/usr/bin/env python3

###########################################################################################
#  package:   Gtools
#  file:      pplot
#  brief:     
#  copyright: GPLv3
#             Copyright (C) 2019 EPFL (Ecole Polytechnique Federale de Lausanne)
#             LASTRO - Laboratory of Astrophysics of EPFL
#  author:    Yves Revaz <yves.revaz@epfl.ch>
#
# This file is part of Gtools.
###########################################################################################


import argparse
from h5py import File


description="Print the description of attributes in all datasets."
epilog     ="""
Examples:
--------
sw_getAttrs file1.hdf5 file2.hdf5
"""

parser = argparse.ArgumentParser(description=description,epilog=epilog,formatter_class=argparse.RawDescriptionHelpFormatter)


parser.add_argument(action="store", 
                    dest="files", 
                    metavar='FILE', 
                    type=str,
                    default=None,
                    nargs='*',
                    help='files') 



########################################################################
# MAIN
########################################################################

units = "Expression for physical CGS units"

if __name__ == '__main__':

    opt = parser.parse_args()
    
    for filename in opt.files: 
      with File(filename, "r") as fd:
        
        for key in fd.keys():
          print(key)

          attrs = list(fd[key].attrs)
          
          for attr in attrs:
            print("\t %s"%attr)
            print("\t %s"%fd[key].attrs[attr])
            #print("\t %s"%(type(fd[key].attrs[attr])))
            print("\t size=%s type=%s"%(fd[key].attrs[attr].size,fd[key].attrs[attr].dtype))
            print()
            
            
            
            
          
        
        


