def process_tdmsfile(tdmsfile_info, rerun = False):
    import os, sys
    sys.path.append('/extra/public/python/tools/')
    import readTDMS as tdms
    
    casedir, casename = tdmsfile_info
    
    hdf5name = os.path.join(casedir, casename.replace('.tdms', '.hdf5'))
    
    if rerun == False:
        # skip already converted files
        if os.path.isfile(hdf5name):
            if os.path.getsize(hdf5name) > 0:
                return
        
    # print casedir + ": " + casename
    
    metadata, rawdata, datafilename = tdms.readfile(casedir, casename)
    
    expdata = tdms.tdmstodict(metadata, rawdata)
    
    del rawdata, metadata
    
    recordings = tdms.formatrecordings(expdata)
    
    del expdata
    
    tdmsfilename = datafilename
    hdf5filename = tdms.savehdf5(tdmsfilename, recordings)
    
    return casedir + ": " + casename
for dirpath, dirnames, filenames in os.walk('/scratch/HumanHighspeed/'):
    for filename in filenames:
        fullfilepath = os.path.join(dirpath, filename)
        
        if not fullfilepath.endswith('.converted.tdms'):
            continue

        if os.path.isfile(fullfilepath.replace('.converted.tdms', '.wav')):
            continue
            
        casedir = dirpath
        casename = filename
        
        try:
            metadata, rawchanneldata, datafilename = tdms.readfile(casedir, casename)
        except Exception as e:
            print e
            print "problems reading: "
            print casedir
            print casename
            print "filesize of original tdms [Bytes]: ", os.path.getsize(fullfilepath.replace('.converted.tdms', '.tdms'))
            print
            continue
        print
        
        savefilepath = fullfilepath.replace('.converted.tdms', '.metadata.npz')
        
        print "saving metadata: ", savefilepath
        np.savez_compressed(savefilepath, metadata = metadata)