Commit 9c97e5c4 authored by Konstantin Ritt's avatar Konstantin Ritt
Browse files

[locale database utility] Optimize by caching the locale lookup chain


Change-Id: I1b95b3365337753ca0ab782091fa61870b77b051
Reviewed-by: default avatarLars Knoll <lars.knoll@digia.com>
parent 7ae4ffa0
No related merge requests found
Showing with 7 additions and 0 deletions
......@@ -191,8 +191,12 @@ def findAlias(file):
return False
return alias_elt.attributes['source'].nodeValue
lookup_chain_cache = {}
parent_locales = {}
def _fixedLookupChain(dirname, name):
if lookup_chain_cache.has_key(name):
return lookup_chain_cache[name]
# see http://www.unicode.org/reports/tr35/#Parent_Locales
if not parent_locales:
for ns in findTagsInFile(dirname + "/../supplemental/supplementalData.xml", "parentLocales"):
......@@ -218,7 +222,10 @@ def _fixedLookupChain(dirname, name):
items = items[:i+1]
else:
items = items[:i+1] + _fixedLookupChain(dirname, parent_locale)
lookup_chain_cache[name] = items
return items
lookup_chain_cache[name] = items
return items
def _findEntry(base, path, draft=None, attribute=None):
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment