Use dict comprehensions more in cldr.py and qlocalexml.py

They're a bit more readable than calling dict on a generator.

Change-Id: I3177e31b1f617b80d1cf5d5f83df7036fc0c4c01
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
This commit is contained in:
Edward Welbourne 2024-03-22 14:48:53 +01:00
parent 10c3dd87d3
commit f2a2379de8
2 changed files with 12 additions and 13 deletions

View File

@ -75,9 +75,8 @@ class CldrReader (object):
pass # self.__wrapped(self.whitter, 'Skipping likelySubtags (for unknown codes): ', skips)
def readLocales(self, calendars = ('gregorian',)):
locales = tuple(self.__allLocales(calendars))
return dict(((k.language_id, k.script_id, k.territory_id, k.variant_code),
k) for k in locales)
return {(k.language_id, k.script_id, k.territory_id, k.variant_code): k
for k in self.__allLocales(calendars)}
def __allLocales(self, calendars):
def skip(locale, reason):
@ -381,9 +380,9 @@ class CldrAccess (object):
for f in k.split('_'):
scraps.add(f)
from enumdata import language_map, territory_map, script_map
language = dict((v, k) for k, v in language_map.values() if not v.isspace())
territory = dict((v, k) for k, v in territory_map.values() if v != 'ZZ')
script = dict((v, k) for k, v in script_map.values() if v != 'Zzzz')
language = {v: k for k, v in language_map.values() if not v.isspace()}
territory = {v: k for k, v in territory_map.values() if v != 'ZZ'}
script = {v: k for k, v in script_map.values() if v != 'Zzzz'}
lang = dict(self.__checkEnum(language, self.__codeMap('language'), scraps))
land = dict(self.__checkEnum(territory, self.__codeMap('territory'), scraps))
text = dict(self.__checkEnum(script, self.__codeMap('script'), scraps))

View File

@ -109,14 +109,14 @@ class QLocaleXmlReader (object):
self.__likely = tuple(self.__likelySubtagsMap())
# Mappings {ID: (enum name, code, en.xml name)}
self.languages = dict((v[0], v[1:]) for v in languages)
self.scripts = dict((v[0], v[1:]) for v in scripts)
self.territories = dict((v[0], v[1:]) for v in territories)
self.languages = {v[0]: v[1:] for v in languages}
self.scripts = {v[0]: v[1:] for v in scripts}
self.territories = {v[0]: v[1:] for v in territories}
# Private mappings {enum name: (ID, code)}
self.__langByName = dict((v[1], (v[0], v[2])) for v in languages)
self.__textByName = dict((v[1], (v[0], v[2])) for v in scripts)
self.__landByName = dict((v[1], (v[0], v[2])) for v in territories)
self.__langByName = {v[1]: (v[0], v[2]) for v in languages}
self.__textByName = {v[1]: (v[0], v[2]) for v in scripts}
self.__landByName = {v[1]: (v[0], v[2]) for v in territories}
# Other properties:
self.__dupes = set(v[1] for v in languages) & set(v[1] for v in territories)
self.cldrVersion = self.__firstChildText(self.root, "version")
@ -527,7 +527,7 @@ class Locale (object):
data['listDelim' if k == 'list' else k] = lookup(k)
for k in cls.propsMonthDay('months'):
data[k] = dict((cal, lookup('_'.join((k, cal)))) for cal in calendars)
data[k] = {cal: lookup('_'.join((k, cal))) for cal in calendars}
grouping = lookup('groupSizes').split(';')
data.update(groupLeast = int(grouping[0]),