Use new manual build framework for building manual pot files

This commit is contained in:
Kovid Goyal 2014-08-12 11:26:01 +05:30
parent 90ce4d54c5
commit f07c5a0cf1
2 changed files with 20 additions and 8 deletions

View File

@ -63,16 +63,27 @@ def build_manual(language, base):
from calibre.ebooks.oeb.polish.container import epub_to_azw3
epub_to_azw3(epub_dest)
def build_pot(base):
cmd = [SPHINX_BUILD, '-b', 'gettext', '-t', 'online', '.', base]
print (' '.join(cmd))
subprocess.check_call(cmd)
os.remove(j(base, 'generated.pot'))
return base
if __name__ == '__main__':
os.chdir(d(a(__file__)))
os.environ['__appname__'] = __appname__
os.environ['__version__'] = __version__
if len(sys.argv) == 1:
base = j(tempfile.gettempdir(), 'manual')
os.environ['CALIBRE_OVERRIDE_LANG'] = 'en'
sphinx_build('en', base, t='online', quiet=False)
os.environ['CALIBRE_OVERRIDE_LANG'] = language = 'en'
sphinx_build(language, base, t='online', quiet=False)
else:
language, base = sys.argv[1:]
os.environ['CALIBRE_OVERRIDE_LANG'] = language
build_manual(language, base)
print ('Manual for', language, 'built in', j(base, 'html'))
if language == 'gettext':
build_pot(base)
else:
os.environ['CALIBRE_OVERRIDE_LANG'] = language
build_manual(language, base)
if language != 'gettext':
print ('Manual for', language, 'built in', j(base, 'html'))

View File

@ -84,9 +84,9 @@ class POT(Command): # {{{
def get_user_manual_docs(self):
self.info('Generating translation templates for user_manual')
base = '.build/gettext'
subprocess.check_call(['sphinx-build', '-b', 'gettext', '.', base], cwd=self.MANUAL)
base, tbase = self.j(self.MANUAL, base), self.j(self.TRANSLATIONS, 'manual')
base = tempfile.mkdtemp()
subprocess.check_call(['calibre-debug', self.j(self.d(self.SRC), 'manual', 'build.py'), 'gettext', base])
tbase = self.j(self.TRANSLATIONS, 'manual')
for x in os.listdir(base):
if not x.endswith('.pot'):
continue
@ -112,6 +112,7 @@ class POT(Command): # {{{
self.git('add .tx/config')
self.upload_pot(dest, resource=slug)
self.git(['add', dest])
shutil.rmtree(base)
def run(self, opts):
require_git_master()