from typing import Any from bcrypt.lib.math import clamp_min ''' Apply left padding to str(x) for parameter x: Any ''' def lpad(x: Any, n: int, pad: chr = ' ') -> str: x = str(x) width = clamp_min(n - len(x), 0) return width * pad + x ''' Left pad an integer's binary representation with zeros ''' def lpadbin(x: int, n: int) -> str: return lpad(bin(x)[2:], n, pad='0')