From 371fab9c208c395ec5ec0d46dc6d4205006211dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 21 Apr 2015 17:24:28 +0200 Subject: [PATCH] distribute translations (#6310) --- MANIFEST.in | 1 + setup.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/MANIFEST.in b/MANIFEST.in index cda1bfc..d3c3e67 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,4 @@ +recursive-include gadjo/locale *.po *.mo recursive-include gadjo/templates *.txt *.html include MANIFEST.in recursive-include gadjo/static *.css *.png *.gif *.eot *.woff *.ttf *.svg *.jpg *.js diff --git a/setup.py b/setup.py index 00e6df7..395896c 100644 --- a/setup.py +++ b/setup.py @@ -4,6 +4,11 @@ import os import glob import re +import sys + +from distutils.cmd import Command +from setuptools.command.install_lib import install_lib as _install_lib +from distutils.command.build import build as _build from distutils.command.sdist import sdist from setuptools import setup, find_packages @@ -50,6 +55,39 @@ def get_version(): return version +class compile_translations(Command): + description = 'compile message catalogs to MO files via django compilemessages' + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + try: + from django.core.management import call_command + for path, dirs, files in os.walk('gadjo'): + if 'locale' not in dirs: + continue + curdir = os.getcwd() + os.chdir(os.path.realpath(path)) + call_command('compilemessages') + os.chdir(curdir) + except ImportError: + sys.stderr.write('!!! Please install Django >= 1.4 to build translations\n') + + +class build(_build): + sub_commands = [('compile_translations', None)] + _build.sub_commands + + +class install_lib(_install_lib): + def run(self): + self.run_command('compile_translations') + _install_lib.run(self) + setup( name='gadjo', version=get_version(), @@ -77,6 +115,9 @@ setup( ], zip_safe=False, cmdclass={ + 'build': build, + 'compile_translations': compile_translations, + 'install_lib': install_lib, 'sdist': eo_sdist }, )