Ticket #1623: duplicates.py

File duplicates.py, 541 bytes (added by sebastian, on 11/27/2014 at 10:53:30 AM)
Line 
1#!/usr/bin/env python
2
3import os
4import json
5import difflib
6
7with open(os.path.join('_locales', 'en_US', 'messages.json')) as file:
8        msgs = [(msgid, data['message']) for msgid, data in json.load(file).items()]
9
10while msgs:
11        msgid, msgstr = msgs.pop(0)
12        msgstr = msgstr.lower()
13
14        group = [msgid]
15        i = 0
16        while i < len(msgs):
17                msgid_, msgstr_ = msgs[i]
18                msgstr_ = msgstr_.lower()
19
20                if difflib.SequenceMatcher(None, msgstr, msgstr_).ratio() > 0.9:
21                        group.append(msgid_)
22                        del msgs[i]
23                else:
24                        i += 1
25       
26        if len(group) > 1:
27                print group