Code Duplication    Length = 19-19 lines in 2 locations

abydos/stemmer/snowball.py 2 locations

@@ 1102-1120 (lines=19) @@
1099
1100
    # Step 1
1101
    _r1 = word[r1_start:]
1102
    if _r1[-7:] == 'erendes':
1103
        word = word[:-7]
1104
    elif _r1[-6:] in {'erende', 'hedens'}:
1105
        word = word[:-6]
1106
    elif _r1[-5:] in {'ethed', 'erede', 'heden', 'heder', 'endes', 'ernes',
1107
                      'erens', 'erets'}:
1108
        word = word[:-5]
1109
    elif _r1[-4:] in {'ered', 'ende', 'erne', 'eren', 'erer', 'heds', 'enes',
1110
                      'eres', 'eret'}:
1111
        word = word[:-4]
1112
    elif _r1[-3:] in {'hed', 'ene', 'ere', 'ens', 'ers', 'ets'}:
1113
        word = word[:-3]
1114
    elif _r1[-2:] in {'en', 'er', 'es', 'et'}:
1115
        word = word[:-2]
1116
    elif _r1[-1:] == 'e':
1117
        word = word[:-1]
1118
    elif _r1[-1:] == 's':
1119
        if len(word) > 1 and word[-2] in _s_endings:
1120
            word = word[:-1]
1121
1122
    # Step 2
1123
    if word[r1_start:][-2:] in {'gd', 'dt', 'gt', 'kt'}:
@@ 1036-1054 (lines=19) @@
1033
1034
    # Step 1
1035
    _r1 = word[r1_start:]
1036
    if _r1[-7:] == 'heterna':
1037
        word = word[:-7]
1038
    elif _r1[-6:] == 'hetens':
1039
        word = word[:-6]
1040
    elif _r1[-5:] in {'anden', 'heten', 'heter', 'arnas', 'ernas', 'ornas',
1041
                      'andes', 'arens', 'andet'}:
1042
        word = word[:-5]
1043
    elif _r1[-4:] in {'arna', 'erna', 'orna', 'ande', 'arne', 'aste', 'aren',
1044
                      'ades', 'erns'}:
1045
        word = word[:-4]
1046
    elif _r1[-3:] in {'ade', 'are', 'ern', 'ens', 'het', 'ast'}:
1047
        word = word[:-3]
1048
    elif _r1[-2:] in {'ad', 'en', 'ar', 'er', 'or', 'as', 'es', 'at'}:
1049
        word = word[:-2]
1050
    elif _r1[-1:] in {'a', 'e'}:
1051
        word = word[:-1]
1052
    elif _r1[-1:] == 's':
1053
        if len(word) > 1 and word[-2] in _s_endings:
1054
            word = word[:-1]
1055
1056
    # Step 2
1057
    if word[r1_start:][-2:] in {'dd', 'gd', 'nn', 'dt', 'gt', 'kt', 'tt'}: