def _is_final(novel, part):
    """
    Tells if the part is the last one of the volume it belongs to
    """
    if part.volume != novel.volumes[-1]:
        return part == part.volume.parts[-1]
    total_pn_in_volume = part.volume.raw_volume.totalPartNumber
    if total_pn_in_volume:
        return part.num_in_volume == total_pn_in_volume
    else:
        return False
