@staticmethod
def apply_chunk_size_rules(proposed_chunk_size, file_size):
    """
        Enforces the notion that a User may supply any `proposed_chunk_size`, as long as it results in 1024 or less
        proposed chunks. In the event it does not, then the "chunk_size" becomes the file_size divided by 1024.

        Args:
            proposed_chunk_size (int): chunk size in bytes
            file_size (int): the size of the file to be uploaded, in bytes

        Returns:
            int:
        """
    proposed_chunk_size = (1 if proposed_chunk_size <= 0 else
        proposed_chunk_size)
    chunks = file_size // proposed_chunk_size
    divides_evenly = file_size % proposed_chunk_size == 0
    number_of_chunks_proposed = chunks if divides_evenly else chunks + 1
    if number_of_chunks_proposed > 1024:
        return file_size // 1024 + 1
    return proposed_chunk_size
