Allow for alternate encoding in CSV importers

This commit is contained in:
Lance Edgar 2021-10-17 21:29:34 -05:00
parent 4696c4dfd1
commit 75b8b3f4ae

View file

@ -201,19 +201,17 @@ class FromCSV(FromFile):
"""
Base class for importers coming from CSV
"""
csv_encoding = 'utf_8'
def setup(self):
if not hasattr(self, 'input_file_path'):
self.input_file_path = os.path.join(self.input_dir,
'{}.csv'.format(self.model_name))
super(FromCSV, self).setup()
def get_input_file_name(self):
return '{}.csv'.format(self.model_name)
def open_input_file(self):
if six.PY2:
self.input_file = open(self.input_file_path, 'rb')
self.input_reader = csvutil.UnicodeDictReader(self.input_file, encoding='utf_8')
self.input_reader = csvutil.UnicodeDictReader(self.input_file, encoding=self.csv_encoding)
else: # PY3
self.input_file = open(self.input_file_path, 'rt', encoding='utf_8')
self.input_file = open(self.input_file_path, 'rt', encoding=self.csv_encoding)
self.input_reader = csv.DictReader(self.input_file)
def close_input_file(self):