def feed(self, character: str) -> None: if self._last_latin_character is not None: if is_accentuated(character) and is_accentuated( self._last_latin_character): if remove_accent(character) == remove_accent( self._last_latin_character): self._successive_count += 1 self._last_latin_character = character
def feed(self, character: str) -> None: self._character_count += 1 if self._last_latin_character is not None: if is_accentuated(character) and is_accentuated( self._last_latin_character): if character.isupper() and self._last_latin_character.isupper( ): self._successive_count += 1 # Worse if its the same char duplicated with different accent. if remove_accent(character) == remove_accent( self._last_latin_character): self._successive_count += 1 self._last_latin_character = character
def feed(self, character: str) -> None: if character.isalpha(): self._buffer = "".join([self._buffer, character]) if is_accentuated(character): self._buffer_accent_count += 1 return if not self._buffer: return if (character.isspace() or is_punctuation(character) or is_separator(character)) and self._buffer: self._word_count += 1 buffer_length = len(self._buffer) # type: int self._character_count += buffer_length if buffer_length >= 4 and self._buffer_accent_count / buffer_length >= 0.3: self._is_current_word_bad = True if self._is_current_word_bad: self._bad_word_count += 1 self._bad_character_count += len(self._buffer) self._is_current_word_bad = False self._buffer = "" self._buffer_accent_count = 0 elif character not in { "<", ">", "-", "=" } and character.isdigit() is False and is_symbol(character): self._is_current_word_bad = True self._buffer += character
def feed(self, character: str) -> None: self._character_count += 1 if is_accentuated(character): self._accentuated_count += 1
def test_is_accentuated(character, expected_is_accentuated): assert (is_accentuated(character) is expected_is_accentuated), "is_accentuated behavior incomplete"