app/django/bin/unique-messages.py
author Pawel Solyga <Pawel.Solyga@gmail.com>
Tue, 02 Dec 2008 10:44:56 +0000
changeset 644 813892c894f4
parent 54 03e267d67478
permissions -rwxr-xr-x
Remove Great Britain from country list. Great Britain was included as a country, although it has a country code (.gb) it's not a state. United Kingdom is correct and remains in the list. Patch by: Matthew Wilkes Review by: Pawel Solyga

#!/usr/bin/env python

import os
import sys

def unique_messages():
    basedir = None

    if os.path.isdir(os.path.join('conf', 'locale')):
        basedir = os.path.abspath(os.path.join('conf', 'locale'))
    elif os.path.isdir('locale'):
        basedir = os.path.abspath('locale')
    else:
        print "this script should be run from the django svn tree or your project or app tree"
        sys.exit(1)

    for (dirpath, dirnames, filenames) in os.walk(basedir):
        for f in filenames:
            if f.endswith('.po'):
                sys.stderr.write('processing file %s in %s\n' % (f, dirpath))
                pf = os.path.splitext(os.path.join(dirpath, f))[0]
                cmd = 'msguniq "%s.po"' % pf
                stdout = os.popen(cmd)
                msg = stdout.read()
                open('%s.po' % pf, 'w').write(msg)

if __name__ == "__main__":
    unique_messages()