Restore building iso639 in develop as it is needed

This commit is contained in:
Kovid Goyal 2013-07-03 22:23:49 +05:30
parent 509cc82d80
commit bd4e828668
3 changed files with 39186 additions and 5 deletions

View File

@ -56,7 +56,7 @@ class Develop(Command):
short_description = 'Setup a development environment for calibre'
MODE = 0o755
sub_commands = ['build', 'resources', 'gui',]
sub_commands = ['build', 'resources', 'iso639', 'gui',]
def add_postinstall_options(self, parser):
parser.add_option('--make-errors-fatal', action='store_true', default=False,

39178
setup/iso_639_3.xml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -322,21 +322,24 @@ class GetTranslations(Translations): # {{{
class ISO639(Command): # {{{
description = 'Compile translations for ISO 639 codes'
description = 'Compile language code maps for performance'
DEST = os.path.join(os.path.dirname(POT.SRC), 'resources', 'localization',
'iso639.pickle')
def run(self, opts):
src = POT.LP_ISO_PATH
src = self.j(self.d(self.SRC), 'setup', 'iso_639_3.xml')
if not os.path.exists(src):
raise Exception(src + ' does not exist')
dest = self.DEST
base = self.d(dest)
if not os.path.exists(base):
os.makedirs(base)
if not self.newer(dest, [src, __file__]):
self.info('Pickled code is up to date')
return
self.info('Pickling ISO-639 codes to', dest)
from lxml import etree
root = etree.fromstring(open(self.j(src, 'iso_639_3.xml'), 'rb').read())
root = etree.fromstring(open(src, 'rb').read())
by_2 = {}
by_3b = {}
by_3t = {}
@ -350,7 +353,7 @@ class ISO639(Command): # {{{
threet = x.get('id')
threeb = x.get('part2_code', None)
if threeb is None:
# Only recognize langauges in ISO-639-2
# Only recognize languages in ISO-639-2
continue
name = x.get('name')