code: def get_attr(self, key, name, default=None):
          
          try:
              obj = h5py.File.__getitem__(self.hdf5, key)
          except KeyError:
              if self.parent != ():
                  return self.parent.get_attr(key, name, default)
              else:
                  raise
          try:
              return obj.attrs[name]
          except KeyError:
              if default is None:
                  raise
              return default
docs: :param key: dataset path
          :param name: name of the attribute
          :param default: value to return if the attribute is missing