1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixed csv reader to handle special characters

This commit is contained in:
Stian Vikan
2016-08-19 12:09:40 +02:00
parent ab90a06c54
commit 0708942ab8

View File

@ -142,10 +142,15 @@ class CSVDataField(forms.CharField):
if not self.help_text: if not self.help_text:
self.help_text = 'Enter one line per record in CSV format.' self.help_text = 'Enter one line per record in CSV format.'
def utf_8_encoder(self, unicode_csv_data):
# convert csv,reader to utf-8e
for line in unicode_csv_data:
yield line.encode('utf-8')
def to_python(self, value): def to_python(self, value):
# Return a list of dictionaries, each representing an individual record # Return a list of dictionaries, each representing an individual record
records = [] records = []
reader = csv.reader(value.splitlines()) reader = csv.reader(self.utf_8_encoder(value.splitlines()))
for i, row in enumerate(reader, start=1): for i, row in enumerate(reader, start=1):
if row: if row:
if len(row) < len(self.columns): if len(row) < len(self.columns):