| @@ 583-626 (lines=44) @@ | ||
| 580 | return sdx  | 
                                |
| 581 | ||
| 582 | for i in range(len(word)):  | 
                                |
| 583 | if word[i] in _vowels:  | 
                                |
| 584 | sdx += '0'  | 
                                |
| 585 | elif word[i] == 'B':  | 
                                |
| 586 | sdx += '1'  | 
                                |
| 587 | elif word[i] == 'P':  | 
                                |
| 588 |             if _before(word, i, {'H'}): | 
                                |
| 589 | sdx += '3'  | 
                                |
| 590 | else:  | 
                                |
| 591 | sdx += '1'  | 
                                |
| 592 |         elif word[i] in {'D', 'T'}: | 
                                |
| 593 |             if _before(word, i, {'C', 'S', 'Z'}): | 
                                |
| 594 | sdx += '8'  | 
                                |
| 595 | else:  | 
                                |
| 596 | sdx += '2'  | 
                                |
| 597 |         elif word[i] in {'F', 'V', 'W'}: | 
                                |
| 598 | sdx += '3'  | 
                                |
| 599 |         elif word[i] in {'G', 'K', 'Q'}: | 
                                |
| 600 | sdx += '4'  | 
                                |
| 601 | elif word[i] == 'C':  | 
                                |
| 602 |             if _after(word, i, {'S', 'Z'}): | 
                                |
| 603 | sdx += '8'  | 
                                |
| 604 | elif i == 0:  | 
                                |
| 605 |                 if _before(word, i, {'A', 'H', 'K', 'L', 'O', 'Q', 'R', 'U', | 
                                |
| 606 | 'X'}):  | 
                                |
| 607 | sdx += '4'  | 
                                |
| 608 | else:  | 
                                |
| 609 | sdx += '8'  | 
                                |
| 610 |             elif _before(word, i, {'A', 'H', 'K', 'O', 'Q', 'U', 'X'}): | 
                                |
| 611 | sdx += '4'  | 
                                |
| 612 | else:  | 
                                |
| 613 | sdx += '8'  | 
                                |
| 614 | elif word[i] == 'X':  | 
                                |
| 615 |             if _after(word, i, {'C', 'K', 'Q'}): | 
                                |
| 616 | sdx += '8'  | 
                                |
| 617 | else:  | 
                                |
| 618 | sdx += '48'  | 
                                |
| 619 | elif word[i] == 'L':  | 
                                |
| 620 | sdx += '5'  | 
                                |
| 621 |         elif word[i] in {'M', 'N'}: | 
                                |
| 622 | sdx += '6'  | 
                                |
| 623 | elif word[i] == 'R':  | 
                                |
| 624 | sdx += '7'  | 
                                |
| 625 |         elif word[i] in {'S', 'Z'}: | 
                                |
| 626 | sdx += '8'  | 
                                |
| 627 | ||
| 628 | sdx = _delete_consecutive_repeats(sdx)  | 
                                |
| 629 | ||
| @@ 4873-4916 (lines=44) @@ | ||
| 4870 | def _haase_code(word):  | 
                                |
| 4871 | sdx = ''  | 
                                |
| 4872 | for i in range(len(word)):  | 
                                |
| 4873 | if word[i] in _vowels:  | 
                                |
| 4874 | sdx += '9'  | 
                                |
| 4875 | elif word[i] == 'B':  | 
                                |
| 4876 | sdx += '1'  | 
                                |
| 4877 | elif word[i] == 'P':  | 
                                |
| 4878 |                 if _before(word, i, {'H'}): | 
                                |
| 4879 | sdx += '3'  | 
                                |
| 4880 | else:  | 
                                |
| 4881 | sdx += '1'  | 
                                |
| 4882 |             elif word[i] in {'D', 'T'}: | 
                                |
| 4883 |                 if _before(word, i, {'C', 'S', 'Z'}): | 
                                |
| 4884 | sdx += '8'  | 
                                |
| 4885 | else:  | 
                                |
| 4886 | sdx += '2'  | 
                                |
| 4887 |             elif word[i] in {'F', 'V', 'W'}: | 
                                |
| 4888 | sdx += '3'  | 
                                |
| 4889 |             elif word[i] in {'G', 'K', 'Q'}: | 
                                |
| 4890 | sdx += '4'  | 
                                |
| 4891 | elif word[i] == 'C':  | 
                                |
| 4892 |                 if _after(word, i, {'S', 'Z'}): | 
                                |
| 4893 | sdx += '8'  | 
                                |
| 4894 | elif i == 0:  | 
                                |
| 4895 |                     if _before(word, i, {'A', 'H', 'K', 'L', 'O', 'Q', 'R', | 
                                |
| 4896 | 'U', 'X'}):  | 
                                |
| 4897 | sdx += '4'  | 
                                |
| 4898 | else:  | 
                                |
| 4899 | sdx += '8'  | 
                                |
| 4900 |                 elif _before(word, i, {'A', 'H', 'K', 'O', 'Q', 'U', 'X'}): | 
                                |
| 4901 | sdx += '4'  | 
                                |
| 4902 | else:  | 
                                |
| 4903 | sdx += '8'  | 
                                |
| 4904 | elif word[i] == 'X':  | 
                                |
| 4905 |                 if _after(word, i, {'C', 'K', 'Q'}): | 
                                |
| 4906 | sdx += '8'  | 
                                |
| 4907 | else:  | 
                                |
| 4908 | sdx += '48'  | 
                                |
| 4909 | elif word[i] == 'L':  | 
                                |
| 4910 | sdx += '5'  | 
                                |
| 4911 |             elif word[i] in {'M', 'N'}: | 
                                |
| 4912 | sdx += '6'  | 
                                |
| 4913 | elif word[i] == 'R':  | 
                                |
| 4914 | sdx += '7'  | 
                                |
| 4915 |             elif word[i] in {'S', 'Z'}: | 
                                |
| 4916 | sdx += '8'  | 
                                |
| 4917 | ||
| 4918 | sdx = _delete_consecutive_repeats(sdx)  | 
                                |
| 4919 | ||