Try utf-16 if utf-8 fails
This commit is contained in:
parent
8b8dc37005
commit
ee10fa06ad
@ -49,16 +49,16 @@ def process_file(in_file, file_type) -> ConfigParser:
|
|||||||
bot_config = json.load(f)
|
bot_config = json.load(f)
|
||||||
ignore_strings = bot_config['ignore_strings'][file_type]
|
ignore_strings = bot_config['ignore_strings'][file_type]
|
||||||
keep_blocks = bot_config['keep_blocks'][file_type]
|
keep_blocks = bot_config['keep_blocks'][file_type]
|
||||||
lines = in_file.readlines()
|
data = in_file.readlines()
|
||||||
try:
|
# try:
|
||||||
data = [line.decode(encoding='utf-8') for line in lines]
|
# data = [line.decode(encoding='utf-8') for line in lines]
|
||||||
except UnicodeDecodeError as e:
|
# except UnicodeDecodeError as e:
|
||||||
print(e)
|
# print(e)
|
||||||
try:
|
# try:
|
||||||
data = [line.decode(encoding='utf-16') for line in lines]
|
# data = [line.decode(encoding='utf-16') for line in lines]
|
||||||
except UnicodeDecodeError as e:
|
# except UnicodeDecodeError as e:
|
||||||
print(e)
|
# print(e)
|
||||||
return 0
|
# return 0
|
||||||
clean_data = list()
|
clean_data = list()
|
||||||
|
|
||||||
if ignore_strings:
|
if ignore_strings:
|
||||||
@ -96,9 +96,15 @@ def process_files(z) -> (ConfigParser, ConfigParser, list):
|
|||||||
# ignore any files that don't end with .ini
|
# ignore any files that don't end with .ini
|
||||||
if filename.lower() == 'game.ini':
|
if filename.lower() == 'game.ini':
|
||||||
# Clean the Game.ini file, removing unnecessary lines
|
# Clean the Game.ini file, removing unnecessary lines
|
||||||
game_config = process_file(z.open(filename), 'game.ini')
|
try:
|
||||||
if not game_config:
|
game_config = process_file(z.open(filename, encoding='utf-8'), 'game.ini')
|
||||||
return 0, 0, 0
|
except UnicodeDecodeError as e:
|
||||||
|
print(e)
|
||||||
|
try:
|
||||||
|
game_config = process_file(z.open(filename, encoding='utf-16-le'), 'game.ini')
|
||||||
|
except UnicodeDecodeError as e:
|
||||||
|
print(e)
|
||||||
|
return 0, 0, 0
|
||||||
mods = check_for_mods(z.open(filename))
|
mods = check_for_mods(z.open(filename))
|
||||||
elif 'DinoExport' in filename:
|
elif 'DinoExport' in filename:
|
||||||
# Get the contents of all DinoExport_*.ini files loaded into a dict
|
# Get the contents of all DinoExport_*.ini files loaded into a dict
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user