def execute_processor(self):
        ''' parameters needed, file name, key (comma seperated list) '''

        file_in = self.param_dict['file_in']
        new_name = self.param_dict['count_name']
        keys = self.param_dict['key'].split(",")

        full_path = os.path.join(self.entry.working_directory, file_in)

        sort_one_file(full_path, self.param_dict.get('key', "0"),
                      self.entry.working_directory)

        rec_list = []

        prev_rec = None

        with open(full_path) as csvfile:
            reader = csv.DictReader(csvfile)
            for row in reader:
                vals = [row[a] for a in keys]
                key = "_".join(vals)

                if prev_rec and prev_rec != key:
                    self.write_recs(rec_list, new_name)
                    rec_list = []
                    prev_rec = key
                elif not prev_rec:
                    header = row.keys()
                    header.append(new_name)
                    self.setup_csv_temp_writer(self.get_temp_csv_name(),
                                               header,
                                               write_header=True)
                    prev_rec = key

                rec_list.append(row)
        self.write_recs(rec_list, new_name)

        self.close_temp_csv()
        return 0
 def execute_processor(self):
     ''' parameters needed, file name, key (comma seperated list) '''
     
     file_in = self.param_dict['file_in']
     new_name = self.param_dict['count_name']
     keys = self.param_dict['key'].split(",")
     
     full_path = os.path.join(self.entry.working_directory,file_in)
     
     sort_one_file(full_path, self.param_dict.get('key',"0"), self.entry.working_directory)
     
     rec_list = []
     
     prev_rec = None
     
     
     with open(full_path) as csvfile:
         reader = csv.DictReader(csvfile)
         for row in reader:
             vals = [row[a] for a in keys]
             key = "_".join(vals)
             
             if prev_rec and prev_rec != key:
                 self.write_recs(rec_list,new_name)
                 rec_list = []
                 prev_rec = key
             elif not prev_rec:
                 header = row.keys()
                 header.append(new_name)
                 self.setup_csv_temp_writer(self.get_temp_csv_name(), header, write_header=True)
                 prev_rec = key
             
             
             rec_list.append(row)
     self.write_recs(rec_list,new_name)
     
     self.close_temp_csv()   
     return 0
 def sort_files(self):
     for a_file in self.file_dict.keys():
         name = self.file_dict[a_file]['name']
         sort_one_file(name, self.file_dict[a_file]['key'], directory=self.entry.working_directory)
 def sort_files(self):
     for a_file in self.file_dict.keys():
         name = self.file_dict[a_file]['name']
         sort_one_file(name,
                       self.file_dict[a_file]['key'],
                       directory=self.entry.working_directory)