'''
Imports text without header...

Author: Autumn Laughbaum, GHI
Last Revised: 12/12/11
'''
import os

def import_r2(name,paths):
    
    progress = ghi.progressDialog('Importing files...',len(paths))
    progress.show()

    marker = []
    r2 = []
    
    for i,path in enumerate(paths):
        progress.setProgress(i)
        f = open(path,'r')
        while 1:
            
            line = f.readline().strip('\n')
    
            if line == '':
                break
                
            if progress.wasCanceled():
                return
            
            v = line.split('\t')
            marker.append(v[0])
            if v[1] == 'NaN':
                r2.append(None)
            else:
                r2.append(float(v[1]))
    
    progress.finish()
    builder = ghi.dataSetBuilder(name,len(marker))
    builder.addRowLabels("Marker",marker)
    builder.addRealColumn("R2",r2)
    out = builder.finish()
    out.show()


def prompt():
    prompt = ghi.promptDialog([{'name':'name','type':'string','label':'Base Dataset Name:','default':'Beagle R2 Files'},
                                {'name':'paths','type':'files','label':'Choose R2 files...','filter':'*.r2'}])
    if not prompt:
        return
    
    paths = prompt['paths']
    name = prompt['name']

    import_r2(name,paths)


try:
    prompt()
except:
    ghi.error()
        