mirror of https://github.com/jumpserver/jumpserver
[Update] 导入解析csv coding
parent
b4f23f9731
commit
49632241b6
|
@ -2,6 +2,7 @@
|
|||
#
|
||||
|
||||
import json
|
||||
import chardet
|
||||
import unicodecsv
|
||||
|
||||
from rest_framework.parsers import BaseParser
|
||||
|
@ -73,7 +74,6 @@ class JMSCSVParser(BaseParser):
|
|||
|
||||
def parse(self, stream, media_type=None, parser_context=None):
|
||||
parser_context = parser_context or {}
|
||||
encoding = parser_context.get('encoding', 'utf-8')
|
||||
try:
|
||||
serializer = parser_context["view"].get_serializer()
|
||||
except Exception as e:
|
||||
|
@ -82,6 +82,8 @@ class JMSCSVParser(BaseParser):
|
|||
|
||||
try:
|
||||
stream_data = stream.read()
|
||||
detect_result = chardet.detect(stream_data)
|
||||
encoding = detect_result.get("encoding", "utf-8")
|
||||
binary = self._universal_newlines(stream_data)
|
||||
rows = self._gen_rows(binary, charset=encoding)
|
||||
|
||||
|
@ -97,5 +99,5 @@ class JMSCSVParser(BaseParser):
|
|||
data.append(row_data)
|
||||
return data
|
||||
except Exception as e:
|
||||
logger.debug(e, exc_info=True)
|
||||
logger.error(e, exc_info=True)
|
||||
raise ParseError('CSV parse error!')
|
||||
|
|
Loading…
Reference in New Issue