main.py


1
#!/usr/bin/env python
2
from argparse import ArgumentParser
3
4
from Levenshtein import distance as lvd
5
from pyphonetics import Soundex
6
7
8
if __name__ == '__main__':
9
    parser = ArgumentParser(description='show soundex and levenshtein')
10
    parser.add_argument('word1', help='first word')
11
    parser.add_argument('word2', help='second word')
12
    parser.add_argument('--normalize', '-n', action='store_true',
13
                        help='normalize to uppercase before processing')
14
    args = parser.parse_args()
15
16
    if args.normalize:
17
        word1 = args.word1.upper()
18
        word2 = args.word2.upper()
19
    else:
20
        word1 = args.word1
21
        word2 = args.word2        
22
    
23
    soundex = Soundex()
24
    sdx1 = soundex.phonetics(word1)
25
    sdx2 = soundex.phonetics(word2)
26
    
27
    print("%s: %s"%(word1, sdx1))
28
    print("%s: %s"%(word2, sdx2))
29
    print("Levenshtein: %d"%(lvd(word1, word2)))
30
    print("Phonetische: %d"%(lvd(sdx1, sdx2)))