コード例 #1
0
def diff( file1path, file2path ):
    
    ''' find the diff of the benchmark for two dates and create a report'''

    seqlist1 =  os.listdir(file1path)
    
    seqlist2 =  os.listdir(file2path)
    
    diff_log = 'Diff between path:\n\t%s\n\t%s\n\n' % (file1path,file2path) 
    
    # Find out the difference in seqence files
    
    seq_common = set(seqlist1) & set(seqlist2)
    
    diff_in_seqs_file = ''
    
    for i in set(seqlist1)-seq_common:
    
        diff_in_seqs_file = diff_in_seqs_file + '\t+' + i + '\n'
        
        
    for i in set(seqlist2)-seq_common:
    
        diff_in_seqs_file = diff_in_seqs_file + '\t-' + i + '\n'   
        
    
    if diff_in_seqs_file == '': diff_in_seqs_file = '\tnone\n '



    diff_log = diff_log + 'Difference in seqs files:\n' + diff_in_seqs_file + '\n'
    
    
    # Find the diff in the common seqfiles
    
    for seq in seq_common:
        
        if seq.endswith('.txt'):
        
            print "Diffing file: %s\n" %seq 
            
            file1 = parse_seq.parse_seq( file1path + seq)
            
            file2 = parse_seq.parse_seq( file2path + seq)
            
            diff_counter, diff_message, diff_data = file1.diff(file2)
            
            if diff_counter:
                
                diff_log = diff_log + 'Mismatch in file: ' + seq +'\n\n' + diff_message +'\n\n'
                
                
            print diff_message
    
    f = open(file1path + 'diff.log', 'w')
    
    f.write(diff_log)
    
    f.close
コード例 #2
0
def diff_file(filepath1,filepath2):
    
    print "Diffing file:\n\n\t%s\n\t%s \n" %(filepath1,filepath2)
    
    file1 = parse_seq.parse_seq( filepath1 )
            
    file2 = parse_seq.parse_seq( filepath2 )
            
    diff_counter, diff_message, diff_data = file1.diff(file2)
    
    print "Result:"
    print diff_message
    
    return diff_message
コード例 #3
0
def plot_file(seq_file, digital=['odtttl','probe'], analog=['odtpow','bfield'],autorange=1,plot_range_min=0,plot_range_max=10000):

    seq = parse_seq(seq_file)
    data_digi_names = []
    data_digi_time = []
    data_digi = []

    for chan,data in zip(seq.digi_channels,seq.digi_data):

        if chan in digital:

            data_digi_names.append(chan)
            data_digi_time.append(seq.digi_time)
            data_digi.append(data)

    data_analog_names = []
    data_analog_time = []
    data_analog = []       

    for channels,data,time in zip(seq.analog_channels,seq.analog_data,seq.analog_time):

        for chan,da in zip(channels,data):

            if chan in analog:

                data_analog_names.append(chan)
                data_analog_time.append(time)
                data_analog.append(da)
                
    fig = plt.figure()
    plot_seq(fig,data_digi_names,data_digi_time,data_digi,data_analog_names,data_analog_time,data_analog,autorange,plot_range_min,plot_range_max)
    fig.set_size_inches(16.0,10.0)
    fig.savefig(seq_file.split('.')[0]+'.png')
コード例 #4
0
    def _reload_fired(self):

        seq = parse_seq(self.file)

        self.waveforms[0].data = seq.digi_data
        self.waveforms[0].time = seq.digi_time

        for i, analog in enumerate(seq.analog_channels):

            self.waveforms[i + 1].data = seq.analog_data[i]
            self.waveforms[i + 1].time = seq.analog_time[i]
コード例 #5
0
 def _reload_fired(self):
     
     seq = parse_seq(self.file)
     
     self.waveforms[0].data = seq.digi_data
     self.waveforms[0].time = seq.digi_time
     
     for i, analog in enumerate(seq.analog_channels):
         
         self.waveforms[i+1].data = seq.analog_data[i]
         self.waveforms[i+1].time = seq.analog_time[i]
コード例 #6
0
 def _load_fired(self):
     
     seq = parse_seq(self.file)
     
     self.waveforms= []
     
     self.waveforms.append( waveform( name= 'Digital', channels = seq.digi_channels, time = seq.digi_time, data = seq.digi_data))
     
     for i, analog in enumerate(seq.analog_channels):
         
         self.waveforms.append( waveform( name= 'Analog%d' %i, channels = analog, time = seq.analog_time[i], data = seq.analog_data[i] ))
コード例 #7
0
    def _load_fired(self):

        seq = parse_seq(self.file)

        self.waveforms = []

        self.waveforms.append(
            waveform(name='Digital',
                     channels=seq.digi_channels,
                     time=seq.digi_time,
                     data=seq.digi_data))

        for i, analog in enumerate(seq.analog_channels):

            self.waveforms.append(
                waveform(name='Analog%d' % i,
                         channels=analog,
                         time=seq.analog_time[i],
                         data=seq.analog_data[i]))
コード例 #8
0
def plot_file(seq_file,
              digital=['odtttl', 'probe'],
              analog=['odtpow', 'bfield'],
              autorange=1,
              plot_range_min=0,
              plot_range_max=10000):

    seq = parse_seq(seq_file)
    data_digi_names = []
    data_digi_time = []
    data_digi = []

    for chan, data in zip(seq.digi_channels, seq.digi_data):

        if chan in digital:

            data_digi_names.append(chan)
            data_digi_time.append(seq.digi_time)
            data_digi.append(data)

    data_analog_names = []
    data_analog_time = []
    data_analog = []

    for channels, data, time in zip(seq.analog_channels, seq.analog_data,
                                    seq.analog_time):

        for chan, da in zip(channels, data):

            if chan in analog:

                data_analog_names.append(chan)
                data_analog_time.append(time)
                data_analog.append(da)

    fig = plt.figure()
    plot_seq(fig, data_digi_names, data_digi_time, data_digi,
             data_analog_names, data_analog_time, data_analog, autorange,
             plot_range_min, plot_range_max)
    fig.set_size_inches(16.0, 10.0)
    fig.savefig(seq_file.split('.')[0] + '.png')