Skip to content

Commit a3b7175

Browse files
committed
Small update
1 parent 008ef51 commit a3b7175

1 file changed

Lines changed: 10 additions & 24 deletions

File tree

pycatfile/pycatfile.py

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4095,31 +4095,17 @@ def SeekToEndOfFile(fp):
40954095
lasttell = fp.tell()
40964096
return True
40974097

4098-
def ReadFileHeaderData(fp, skipchecksum=False, formatspecs=None, saltkey=None):
4099-
if(formatspecs is None):
4100-
formatspecs = __file_format_multi_dict__
4101-
filespec = None
4102-
delimiter = None
4103-
for key, value in formatspecs.items():
4104-
oldseek = fp.tell()
4105-
filetype = fp.read(value['format_len'])
4106-
formatver = str(int(value['format_ver']))
4107-
filever = fp.read(len(formatver)).decode("UTF-8")
4108-
if(filetype.hex()==value['format_hex'] and formatver==filever):
4109-
filespec = formatspecs[key]
4110-
delimiter = filespec['format_delimiter']
4111-
filetypefull = filetype.decode("UTF-8")+filever
4112-
break
4113-
fp.seek(oldseek, 1)
4114-
if(filespec is None or delimiter is None):
4115-
return False
4116-
fp.seek(len(delimiter), 1)
4117-
outlist = ReadFileHeaderDataBySize(fp, delimiter)
4118-
outlist.insert(0, filetypefull)
4119-
if(not ValidateHeaderChecksum(outlist[:-1], outlist[-2], outlist[-1], filespec, saltkey) and not skipchecksum):
4098+
def ReadFileHeaderData(fp, rounds=0, delimiter=_default_delim(None)):
4099+
"""Read `rounds` delimited header fields. Returns a list[str]."""
4100+
if not hasattr(fp, "read"):
41204101
return False
4121-
fp.seek(len(delimiter), 1)
4122-
return outlist
4102+
rounds = int(rounds)
4103+
if rounds <= 0:
4104+
return []
4105+
out = []
4106+
for _ in range(rounds):
4107+
out.append(read_until_delimiter(fp, delimiter, decode=True, errors="strict"))
4108+
return out
41234109

41244110
def ReadFileHeaderDataWithContent(fp, listonly=False, contentasfile=False, uncompress=True, skipchecksum=False, formatspecs=__file_format_dict__, saltkey=None):
41254111
if(not hasattr(fp, "read")):

0 commit comments

Comments
 (0)