mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Merge pull request #493 from stianvi/csv_reader_unicode
Fixed csv reader to handle special characters
This commit is contained in:
@ -167,10 +167,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):
|
||||||
|
Reference in New Issue
Block a user