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 Base class for importers coming from CSV
""" """
csv_encoding = 'utf_8'
def setup(self): def get_input_file_name(self):
if not hasattr(self, 'input_file_path'): return '{}.csv'.format(self.model_name)
self.input_file_path = os.path.join(self.input_dir,
'{}.csv'.format(self.model_name))
super(FromCSV, self).setup()
def open_input_file(self): def open_input_file(self):
if six.PY2: if six.PY2:
self.input_file = open(self.input_file_path, 'rb') 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 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) self.input_reader = csv.DictReader(self.input_file)
def close_input_file(self): def close_input_file(self):