improved rezkonv parser

This commit is contained in:
vabene1111 2022-02-25 15:51:37 +01:00
parent 38ad246dc1
commit e824c9bff2
2 changed files with 8 additions and 3 deletions

View File

@ -172,7 +172,7 @@ class Integration:
traceback.print_exc()
self.handle_exception(e, log=il, message=f'-------------------- \nERROR \n{e}\n--------------------\n')
import_zip.close()
elif '.json' in f['name'] or '.txt' in f['name'] or '.mmf' in f['name']:
elif '.json' in f['name'] or '.txt' in f['name'] or '.mmf' in f['name'] or '.rk' in f['name']:
data_list = self.split_recipe_file(f['file'])
il.total_recipes += len(data_list)
for d in data_list:

View File

@ -60,9 +60,14 @@ class RezKonv(Integration):
def split_recipe_file(self, file):
recipe_list = []
current_recipe = ''
encoding_list = ['windows-1250', 'latin-1'] #TODO build algorithm to try trough encodings and fail if none work, use for all importers
encoding = 'windows-1250'
for fl in file.readlines():
line = fl.decode("windows-1250")
try:
line = fl.decode(encoding)
except UnicodeDecodeError:
encoding = 'latin-1'
line = fl.decode(encoding)
if line.startswith('=====') and 'rezkonv' in line.lower():
if current_recipe != '':
recipe_list.append(current_recipe)