def _sanitize_args_single_value(value, arg=None):
"""Makes a single value easier to read."""
if isinstance(value, plistlib.Data):
try: # Does it seem to be ASCII ?
return value.data.encode('ascii')
except UnicodeDecodeError: # No => base64 encode it
return value.asBase64(maxlinelength=1000000).strip()
elif isinstance(value, datetime.datetime):
# Keychain items can contain a date. We just store a string representation of it
return str(value)
else:
# Try to replace this value with a more meaningful string
if arg in IOS_ENUM_LIST:
try:
if 'mask' in IOS_ENUM_LIST[arg]:
has_flag = value & IOS_ENUM_LIST[arg]['mask']
if has_flag:
return IOS_ENUM_LIST[arg][value]
else:
return IOS_ENUM_LIST[arg][value]
except KeyError:
return value
else:
return value
评论列表
文章目录