app/django/bin/compile-messages.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
--- a/app/django/bin/compile-messages.py	Tue Oct 14 12:36:55 2008 +0000
+++ b/app/django/bin/compile-messages.py	Tue Oct 14 16:00:59 2008 +0000
@@ -1,64 +1,11 @@
 #!/usr/bin/env python
 
-import optparse
-import os
-import sys
-
-try:
-    set
-except NameError:
-    from sets import Set as set     # For Python 2.3
-
-
-def compile_messages(locale=None):
-    basedirs = (os.path.join('conf', 'locale'), 'locale')
-    if os.environ.get('DJANGO_SETTINGS_MODULE'):
-        from django.conf import settings
-        basedirs += settings.LOCALE_PATHS
-
-    # Gather existing directories.
-    basedirs = set(map(os.path.abspath, filter(os.path.isdir, basedirs)))
-
-    if not basedirs:
-        print "This script should be run from the Django SVN tree or your project or app tree, or with the settings module specified."
-        sys.exit(1)
-
-    for basedir in basedirs:
-        if locale:
-            basedir = os.path.join(basedir, locale, 'LC_MESSAGES')
-        compile_messages_in_dir(basedir)
+if __name__ == "__main__":
+    import sys
+    name = sys.argv[0]
+    args = ' '.join(sys.argv[1:])
+    print >> sys.stderr, "%s has been moved into django-admin.py" % name
+    print >> sys.stderr, 'Please run "django-admin.py compilemessages %s" instead.'% args
+    print >> sys.stderr
+    sys.exit(1)
 
-def compile_messages_in_dir(basedir):
-    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]
-                # Store the names of the .mo and .po files in an environment
-                # variable, rather than doing a string replacement into the
-                # command, so that we can take advantage of shell quoting, to
-                # quote any malicious characters/escaping.
-                # See http://cyberelk.net/tim/articles/cmdline/ar01s02.html
-                os.environ['djangocompilemo'] = pf + '.mo'
-                os.environ['djangocompilepo'] = pf + '.po'
-                if sys.platform == 'win32': # Different shell-variable syntax
-                    cmd = 'msgfmt --check-format -o "%djangocompilemo%" "%djangocompilepo%"'
-                else:
-                    cmd = 'msgfmt --check-format -o "$djangocompilemo" "$djangocompilepo"'
-                os.system(cmd)
-
-def main():
-    parser = optparse.OptionParser()
-    parser.add_option('-l', '--locale', dest='locale',
-            help="The locale to process. Default is to process all.")
-    parser.add_option('--settings',
-        help='Python path to settings module, e.g. "myproject.settings". If provided, all LOCALE_PATHS will be processed. If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be checked as well.')
-    options, args = parser.parse_args()
-    if len(args):
-        parser.error("This program takes no arguments")
-    if options.settings:
-        os.environ['DJANGO_SETTINGS_MODULE'] = options.settings
-    compile_messages(options.locale)
-
-if __name__ == "__main__":
-    main()