in atr/util.py [0:0]
def format_permissions(mode: int) -> str:
"""Format Unix file permissions in ls -l style."""
# File type
if mode & 0o040000:
# Directory
perms = "d"
elif mode & 0o0100000:
# Regular file
perms = "-"
elif mode & 0o020000:
# Character special
perms = "c"
elif mode & 0o060000:
# Block special
perms = "b"
elif mode & 0o010000:
# FIFO
perms = "p"
elif mode & 0o0140000:
# Socket
perms = "s"
else:
perms = "?"
# Owner permissions
perms += "r" if mode & 0o400 else "-"
perms += "w" if mode & 0o200 else "-"
perms += "x" if mode & 0o100 else "-"
# Group permissions
perms += "r" if mode & 0o040 else "-"
perms += "w" if mode & 0o020 else "-"
perms += "x" if mode & 0o010 else "-"
# Others permissions
perms += "r" if mode & 0o004 else "-"
perms += "w" if mode & 0o002 else "-"
perms += "x" if mode & 0o001 else "-"
return perms