def _create_rows_for_event(ie, csv_file): # Don't use a transaction for this possibly long-running operation # so we can show progress. Caller does manual cleanup if necessary. reader = csv.DictReader(csv_file) field_names = reader.fieldnames ie.field_order = json.dumps(field_names) ie.save() field_names = [clean_field_name(f) for f in field_names] file_valid = ie.validate_field_names(field_names) if file_valid: _create_rows(ie, reader) if ie.row_count == 0: file_valid = False ie.append_error(errors.EMPTY_FILE) if file_valid: return True else: ie.status = ie.FAILED_FILE_VERIFICATION ie.save() return False
def _create_rows_for_event(ie, csv_file): # Don't use a transaction for this possibly long-running operation # so we can show progress. Caller does manual cleanup if necessary. reader = utf8_file_to_csv_dictreader(csv_file) field_names = [f.strip() for f in reader.fieldnames] ie.field_order = json.dumps(field_names) ie.save() field_names = [clean_field_name(f) for f in field_names] file_valid = ie.validate_field_names(field_names) if file_valid: _create_rows(ie, reader) if ie.row_count == 0: file_valid = False ie.append_error(errors.EMPTY_FILE) if file_valid: return True else: ie.status = ie.FAILED_FILE_VERIFICATION ie.mark_finished_and_save() return False
def _create_rows_for_event(ie, csv_file): # Don't use a transaction for this possibly long-running operation # so we can show progress. Caller does manual cleanup if necessary. reader = utf8_file_to_csv_dictreader(csv_file) field_names = [ f.strip().decode('utf-8') for f in reader.fieldnames if f.strip().lower() not in ie.ignored_fields() ] ie.field_order = json.dumps(field_names) ie.save() field_names = [clean_field_name(f) for f in field_names] file_valid = ie.validate_field_names(field_names) if file_valid: _create_rows(ie, reader) if ie.row_count == 0: file_valid = False ie.append_error(errors.EMPTY_FILE) if file_valid: return True else: ie.status = ie.FAILED_FILE_VERIFICATION ie.mark_finished_and_save() return False