Skip to content

Commit 8a211bb

Browse files
author
Kazuki Suzuki Przyborowski
committed
Update pyarchivefile.py
1 parent af322f9 commit 8a211bb

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

pyarchivefile.py

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,20 +2225,21 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
22252225
fextrafieldslist = json.loads(fextrafieldslist[0])
22262226
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
22272227
pass
2228-
fjsoncontent = {}
2229-
fprejsoncontent = fp.read(fjsonsize).decode("UTF-8")
2230-
if(fjsonsize > 0):
2231-
try:
2232-
fjsoncontent = json.loads(base64.b64decode(fprejsoncontent).decode("UTF-8"))
2233-
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2228+
if(fjsontype=="json"):
2229+
fjsoncontent = {}
2230+
fprejsoncontent = fp.read(fjsonsize).decode("UTF-8")
2231+
if(fjsonsize > 0):
22342232
try:
2235-
fjsoncontent = json.loads(fprejsoncontent.decode("UTF-8"))
2233+
fjsoncontent = json.loads(base64.b64decode(fprejsoncontent).decode("UTF-8"))
22362234
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2237-
fprejsoncontent = ""
2238-
fjsoncontent = {}
2239-
else:
2240-
fprejsoncontent = ""
2241-
fjsoncontent = {}
2235+
try:
2236+
fjsoncontent = json.loads(fprejsoncontent.decode("UTF-8"))
2237+
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2238+
fprejsoncontent = ""
2239+
fjsoncontent = {}
2240+
else:
2241+
fprejsoncontent = ""
2242+
fjsoncontent = {}
22422243
fp.seek(len(delimiter), 1)
22432244
fcs = HeaderOut[-2].lower()
22442245
fccs = HeaderOut[-1].lower()
@@ -2377,20 +2378,21 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
23772378
fextrafieldslist = json.loads(fextrafieldslist[0])
23782379
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
23792380
pass
2380-
fjsoncontent = {}
2381-
fprejsoncontent = fp.read(fjsonsize).decode("UTF-8")
2382-
if(fjsonsize > 0):
2383-
try:
2384-
fjsoncontent = json.loads(base64.b64decode(fprejsoncontent).decode("UTF-8"))
2385-
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2381+
if(fjsontype=="json"):
2382+
fjsoncontent = {}
2383+
fprejsoncontent = fp.read(fjsonsize).decode("UTF-8")
2384+
if(fjsonsize > 0):
23862385
try:
2387-
fjsoncontent = json.loads(fprejsoncontent.decode("UTF-8"))
2386+
fjsoncontent = json.loads(base64.b64decode(fprejsoncontent).decode("UTF-8"))
23882387
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2389-
fprejsoncontent = ""
2390-
fjsoncontent = ""
2391-
else:
2392-
fprejsoncontent = ""
2393-
fjsoncontent = ""
2388+
try:
2389+
fjsoncontent = json.loads(fprejsoncontent.decode("UTF-8"))
2390+
except (binascii.Error, json.decoder.JSONDecodeError, UnicodeDecodeError):
2391+
fprejsoncontent = ""
2392+
fjsoncontent = {}
2393+
else:
2394+
fprejsoncontent = ""
2395+
fjsoncontent = {}
23942396
fp.seek(len(delimiter), 1)
23952397
fcs = HeaderOut[-2].lower()
23962398
fccs = HeaderOut[-1].lower()
@@ -6973,7 +6975,7 @@ def ArchiveFileSeekToFileName(infile, fmttype="auto", seekfile=None, listonly=Fa
69736975
prefjsonsize = int(preheaderdata[29], 16)
69746976
prefjoutfprejsoncontent = fp.read(prefjsonsize).decode("UTF-8")
69756977
if(prefjsonsize <= 0):
6976-
prefjoutfprejsoncontent = "".encode()
6978+
prefjoutfprejsoncontent = ""
69776979
fp.seek(len(formatspecs['format_delimiter']), 1)
69786980
prefextrasize = int(preheaderdata[30], 16)
69796981
prefextrafields = int(preheaderdata[31], 16)
@@ -7615,7 +7617,7 @@ def ArchiveFileToArray(infile, fmttype="auto", seekstart=0, seekend=0, listonly=
76157617
prefjsonsize = int(preheaderdata[29], 16)
76167618
prefjoutfprejsoncontent = fp.read(prefjsonsize).decode("UTF-8")
76177619
if(prefjsonsize <= 0):
7618-
prefjoutfprejsoncontent = "".encode()
7620+
prefjoutfprejsoncontent = ""
76197621
fp.seek(len(formatspecs['format_delimiter']), 1)
76207622
prefextrasize = int(preheaderdata[30], 16)
76217623
prefextrafields = int(preheaderdata[31], 16)

0 commit comments

Comments
 (0)