11import collections .abc
22import io
33import os
4- import json5
54import tempfile
65import zipfile
76import urllib .request
1211import logging
1312log = logging .getLogger ('LOGGER_NAME' )
1413
14+ from helper import load_vcmi_json
15+
1516from defextract import extract_def
1617
1718def nested_update (d , u ):
@@ -53,7 +54,7 @@ def __parse_subconfig(self, data, dir):
5354 for file in files :
5455 if fullpath .lower () == os .path .join (subdir , file ).lower ():
5556 log .info ('open json: ' + os .path .join (subdir , file ))
56- tmp2 = nested_update (tmp2 , json5 . load (open (os .path .join (subdir , file ))))
57+ tmp2 = nested_update (tmp2 , load_vcmi_json (open (os .path .join (subdir , file )). read ( )))
5758 if len (tmp2 ) > 0 :
5859 tmp [key .lower ()] = tmp2
5960 return tmp
@@ -64,7 +65,7 @@ def get_mods(self):
6465 for file in files :
6566 if file .lower () == "mod.json" :
6667 log .info ('open json: ' + os .path .join (subdir , file ))
67- data = json5 . load (open (os .path .join (subdir , file )))
68+ data = load_vcmi_json (open (os .path .join (subdir , file )). read ( ))
6869 mods .append (
6970 {
7071 "pyhsicaldir" : subdir ,
@@ -119,7 +120,7 @@ def get_animations(self, mod, path):
119120 if file .lower ().endswith (".json" ) or file .lower ().endswith (".def" ):
120121 if file .lower ().endswith (".json" ):
121122 log .info ('open json: ' + os .path .join (subdir , file ))
122- tmp = json5 . load (open (os .path .join (subdir , file )))
123+ tmp = load_vcmi_json (open (os .path .join (subdir , file )). read ( ))
123124 for i , sequence in enumerate (tmp ["sequences" ]):
124125 for j , frame in enumerate (sequence ["frames" ]):
125126 path_img = tmp ["basepath" ] + frame
0 commit comments