Add option to only build specified UM translations

This commit is contained in:
Kovid Goyal 2014-08-12 09:06:16 +05:30
parent 66b506abce
commit 60a0b2d31b

View File

@ -81,6 +81,10 @@ class Manual(Command):
description='''Build the User Manual ''' description='''Build the User Manual '''
def add_options(self, parser):
parser.add_option('-l', '--language', action='append', default=[],
help='Build translated versions for only the specified languages (can be specified multiple times)')
def run(self, opts): def run(self, opts):
tdir = self.j(tempfile.gettempdir(), 'user-manual-build') tdir = self.j(tempfile.gettempdir(), 'user-manual-build')
if os.path.exists(tdir): if os.path.exists(tdir):
@ -93,11 +97,12 @@ class Manual(Command):
os.makedirs(d) os.makedirs(d)
jobs = [] jobs = []
mandir = self.j(self.d(self.SRC), 'manual') mandir = self.j(self.d(self.SRC), 'manual')
for language in (['en'] + list(json.load(open(self.j(self.d(self.SRC), 'manual', 'locale', 'completed.json'), 'rb')))): languages = opts.language or list(json.load(open(self.j(self.d(self.SRC), 'manual', 'locale', 'completed.json'), 'rb')))
for language in (['en'] + languages):
jobs.append((['calibre-debug', self.j(self.d(self.SRC), 'manual', 'build.py'), jobs.append((['calibre-debug', self.j(self.d(self.SRC), 'manual', 'build.py'),
language, self.j(tdir, language), mandir, __appname__, __version__], language, self.j(tdir, language), mandir, __appname__, __version__],
'\n\n**************** Building translations for: %s'%language)) '\n\n**************** Building translations for: %s'%language))
self.info('Building translations for %d languages' % len(jobs)) self.info('Building translations for %d languages' % (len(jobs) - 1))
if not parallel_build(jobs, self.info): if not parallel_build(jobs, self.info):
raise SystemExit(1) raise SystemExit(1)
os.chdir(self.j(tdir, 'en', 'html')) os.chdir(self.j(tdir, 'en', 'html'))