fix: Solved reading problems for some files

pull/156/head
chrisr3d 2018-01-30 11:20:28 +01:00
parent b2ec186ccb
commit 71c00954d0
No known key found for this signature in database
GPG Key ID: 6BBED1B63A6D639F
1 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import json, os import json, os
import pymisp import pymisp
@ -25,8 +26,20 @@ def handler(q=False):
return misperrors return misperrors
config = request['config'].get('header') config = request['config'].get('header')
#header = [] #header = []
try:
data = readFile(filename, 'utf-8')
except:
data = readFile(filename, 'iso-8859-1')
# find which delimiter is used
delimiter, length = findDelimiter(config, data)
# build the attributes
result = buildAttributes(config, data, delimiter, length)
r = {'results': [{'types': mispattributes['output'], 'values': result}]}
return r
def readFile(filename, encoding):
data = [] data = []
with open(filename, 'r') as f: with open(filename, 'r', encoding=encoding) as f:
for line in f: for line in f:
# split comments from data # split comments from data
if '#' in line: if '#' in line:
@ -35,12 +48,7 @@ def handler(q=False):
l = line.strip() l = line.strip()
if l: if l:
data.append(l) data.append(l)
# find which delimiter is used return data
delimiter, length = findDelimiter(config, data)
# build the attributes
result = buildAttributes(config, data, delimiter, length)
r = {'results': [{'types': mispattributes['output'], 'values': result}]}
return r
def findDelimiter(header, data): def findDelimiter(header, data):
n = len(header) n = len(header)