class package_part: def __init__(self, content: bytes) -> None: self.__content = content self.__current_count = None self.__packages_count = None def set_counter(self, current: int, packages_count: int) -> object: self.__current_count = current self.__packages_count = packages_count return self @staticmethod def get_header_size() -> None: return self.__number_size() * 3 + self.__crc_size() @classmethod def __number_to_bytes(cls, target: int) -> bytes: return target.to_bytes(cls.__number_size(), "big") @staticmethod def __number_size() -> int: return 5 @staticmethod def __crc_size() -> int: return 20 @staticmethod def __calc_crt(target: bytes) -> bytes: return hashlib.sha1(target, usedforsecurity = False).digest()