Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
KazukiPrzyborowski authored Mar 14, 2024
1 parent cbd741d commit 365dbf8
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions pycatfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,26 @@ def crc64_iso(msg, initial_value=0xFFFFFFFFFFFFFFFF):
crc &= 0xFFFFFFFFFFFFFFFF; # Ensure CRC remains 64-bit
return crc;

def GetDataFromArray(data, path, default=None):
element = data;
try:
for key in path:
element = element[key];
return element;
except (KeyError, TypeError, IndexError):
return default;

def GetDataFromArrayAlt(structure, path, default=None):
element = structure;
for key in path:
if isinstance(element, dict) and key in element:
element = element[key];
elif isinstance(element, list) and isinstance(key, int) and -len(element) <= key < len(element):
element = element[key];
else:
return default;
return element;

def ReadTillNullByte(fp, delimiter=__file_format_delimiter__):
curbyte = b"";
curfullbyte = b"";
Expand Down

0 comments on commit 365dbf8

Please sign in to comment.