def encode(self, word, max_length=-<NUM_LIT:1>):
def _foersvensker(lokal_ordet):<EOL><INDENT>"""<STR_LIT>"""<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT:F>')<EOL>for i in self._harde_vokaler:<EOL><INDENT>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT>', i + '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT:Y>', i + '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT:I>', i + '<STR_LIT>')<EOL><DEDENT>for i in self._mjuka_vokaler:<EOL><INDENT>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT>', i + '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT:Y>', i + '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace(i + '<STR_LIT:I>', i + '<STR_LIT>')<EOL><DEDENT>if '<STR_LIT:H>' in lokal_ordet:<EOL><INDENT>for i in self._uc_c_set:<EOL><INDENT>lokal_ordet = lokal_ordet.replace('<STR_LIT:H>' + i, i)<EOL><DEDENT><DEDENT>lokal_ordet = lokal_ordet.translate(self._substitutions)<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>lokal_ordet = lokal_ordet.replace('<STR_LIT>', '<STR_LIT>')<EOL>return lokal_ordet<EOL><DEDENT>def _koda_foersta_ljudet(lokal_ordet):<EOL><INDENT>"""<STR_LIT>"""<EOL>if (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] in self._mjuka_vokaler<EOL>or lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] in self._harde_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT:$>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:2>] in ('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>lokal_ordet = '<STR_LIT>' + lokal_ordet[<NUM_LIT:2>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT>'<EOL>and lokal_ordet[<NUM_LIT:1>:<NUM_LIT:2>] in self._mjuka_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT>':<EOL><INDENT>lokal_ordet = '<STR_LIT>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:2>] == '<STR_LIT>' and lokal_ordet[<NUM_LIT:2>:<NUM_LIT:3>] in frozenset(<EOL>self._mjuka_vokaler | self._harde_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT:#>' + lokal_ordet[<NUM_LIT:2>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:C>'<EOL>and lokal_ordet[<NUM_LIT:1>:<NUM_LIT:2>] in self._harde_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:C>' and lokal_ordet[<NUM_LIT:1>:<NUM_LIT:2>] in self._uc_c_set<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:X>':<EOL><INDENT>lokal_ordet = '<STR_LIT:S>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT:C>'<EOL>and lokal_ordet[<NUM_LIT:1>:<NUM_LIT:2>] in self._mjuka_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT:S>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:3>] in ('<STR_LIT>', '<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>lokal_ordet = '<STR_LIT:#>' + lokal_ordet[<NUM_LIT:3>:]<EOL><DEDENT>elif lokal_ordet[<NUM_LIT:0>:<NUM_LIT:2>] in ('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>lokal_ordet = '<STR_LIT:#>' + lokal_ordet[<NUM_LIT:2>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:2>] == '<STR_LIT>'<EOL>and lokal_ordet[<NUM_LIT:2>:<NUM_LIT:3>] in self._mjuka_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT:#>' + lokal_ordet[<NUM_LIT:2>:]<EOL><DEDENT>elif (<EOL>lokal_ordet[<NUM_LIT:0>:<NUM_LIT:1>] == '<STR_LIT>'<EOL>and lokal_ordet[<NUM_LIT:1>:<NUM_LIT:2>] in self._mjuka_vokaler<EOL>):<EOL><INDENT>lokal_ordet = '<STR_LIT:#>' + lokal_ordet[<NUM_LIT:1>:]<EOL><DEDENT>return lokal_ordet<EOL><DEDENT>word = unicode_normalize('<STR_LIT>', text_type(word.upper()))<EOL>word = word.replace('<STR_LIT>', '<STR_LIT>')<EOL>word = word.replace('<STR_LIT:->', '<STR_LIT:U+0020>')<EOL>for adelstitel in self._adelstitler:<EOL><INDENT>while adelstitel in word:<EOL><INDENT>word = word.replace(adelstitel, '<STR_LIT:U+0020>')<EOL><DEDENT>if word.startswith(adelstitel[<NUM_LIT:1>:]):<EOL><INDENT>word = word[len(adelstitel) - <NUM_LIT:1> :]<EOL><DEDENT><DEDENT>ordlista = word.split()<EOL>ordlista = [<EOL>self._delete_consecutive_repeats(ordet) for ordet in ordlista<EOL>]<EOL>if not ordlista:<EOL><INDENT>return ('<STR_LIT>',)<EOL><DEDENT>ordlista = [_foersvensker(ordet) for ordet in ordlista]<EOL>ordlista = [<EOL>'<STR_LIT>'.join(c for c in ordet if c in self._uc_set)<EOL>for ordet in ordlista<EOL>]<EOL>ordlista = [_koda_foersta_ljudet(ordet) for ordet in ordlista]<EOL>rest = [ordet[<NUM_LIT:1>:] for ordet in ordlista]<EOL>rest = [ordet.replace('<STR_LIT>', '<STR_LIT:T>') for ordet in rest]<EOL>rest = [ordet.replace('<STR_LIT:X>', '<STR_LIT>') for ordet in rest]<EOL>for vokal in self._mjuka_vokaler:<EOL><INDENT>rest = [ordet.replace('<STR_LIT:C>' + vokal, '<STR_LIT>' + vokal) for ordet in rest]<EOL><DEDENT>rest = [ordet.translate(self._trans) for ordet in rest]<EOL>rest = [self._delete_consecutive_repeats(ordet) for ordet in rest]<EOL>rest = [ordet.replace('<STR_LIT>', '<STR_LIT>') for ordet in rest]<EOL>ordlista = [<EOL>'<STR_LIT>'.join(ordet) for ordet in zip((_[<NUM_LIT:0>:<NUM_LIT:1>] for _ in ordlista), rest)<EOL>]<EOL>if max_length > <NUM_LIT:0>:<EOL><INDENT>ordlista = [ordet[:max_length] for ordet in ordlista]<EOL><DEDENT>return tuple(ordlista)<EOL>
Return the SfinxBis code for a word.

        Parameters
        ----------
        word : str
            The word to transform
        max_length : int
            The length of the code returned (defaults to unlimited)

        Returns
        -------
        tuple
            The SfinxBis value

        Examples
        --------
        >>> pe = SfinxBis()
        >>> pe.encode('Christopher')
        ('K68376',)
        >>> pe.encode('Niall')
        ('N4',)
        >>> pe.encode('Smith')
        ('S53',)
        >>> pe.encode('Schmidt')
        ('S53',)

        >>> pe.encode('Johansson')
        ('J585',)
        >>> pe.encode('Sjöberg')
        ('#162',)