[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Maposmatic-dev] [PATCH ocitysmap] Zen Karma ++ (Readability counts).
From: |
David Decotigny |
Subject: |
[Maposmatic-dev] [PATCH ocitysmap] Zen Karma ++ (Readability counts). |
Date: |
Mon, 4 Jan 2010 10:23:20 +0100 |
Though I've been credited for the original implementation of the
language class lookup based on python introspection, it's not really
zen. This patch proposes a more pythonic approach.
---
ocitysmap/i18n.py | 66 +++++++++++++++++++++++++----------------------------
1 files changed, 31 insertions(+), 35 deletions(-)
diff --git a/ocitysmap/i18n.py b/ocitysmap/i18n.py
index 6cfdc7f..e830bb1 100644
--- a/ocitysmap/i18n.py
+++ b/ocitysmap/i18n.py
@@ -176,42 +176,38 @@ class i18n_generic(i18n):
def first_letter_equal(self, a, b):
return a == b
+# When not listed in the following map, default language class will be
+# i18n_generic
language_class_map = {
- # 'code_CODE.UTF-8': 'i18n_class', # example for new language
- 'C': 'i18n_generic',
- 'fr_BE.UTF-8': 'i18n_fr_generic',
- 'fr_FR.UTF-8': 'i18n_fr_generic',
- 'fr_CA.UTF-8': 'i18n_fr_generic',
- 'fr_CH.UTF-8': 'i18n_fr_generic',
- 'fr_LU.UTF-8': 'i18n_fr_generic',
- 'en_AG': 'i18n_generic',
- 'en_AU.UTF-8': 'i18n_generic',
- 'en_BW.UTF-8': 'i18n_generic',
- 'en_CA.UTF-8': 'i18n_generic',
- 'en_DK.UTF-8': 'i18n_generic',
- 'en_GB.UTF-8': 'i18n_generic',
- 'en_HK.UTF-8': 'i18n_generic',
- 'en_IE.UTF-8': 'i18n_generic',
- 'en_IN': 'i18n_generic',
- 'en_NG': 'i18n_generic',
- 'en_NZ.UTF-8': 'i18n_generic',
- 'en_PH.UTF-8': 'i18n_generic',
- 'en_SG.UTF-8': 'i18n_generic',
- 'en_US.UTF-8': 'i18n_generic',
- 'en_ZA.UTF-8': 'i18n_generic',
- 'en_ZW.UTF-8': 'i18n_generic',
- 'de_BE.UTF-8': 'i18n_generic',
- 'nl_BE.UTF-8': 'i18n_generic',
- 'it_IT.UTF-8': 'i18n_it_generic',
- 'it_CH.UTF-8': 'i18n_it_generic',
+ 'fr_BE.UTF-8': i18n_fr_generic,
+ 'fr_FR.UTF-8': i18n_fr_generic,
+ 'fr_CA.UTF-8': i18n_fr_generic,
+ 'fr_CH.UTF-8': i18n_fr_generic,
+ 'fr_LU.UTF-8': i18n_fr_generic,
+ 'en_AG': i18n_generic,
+ 'en_AU.UTF-8': i18n_generic,
+ 'en_BW.UTF-8': i18n_generic,
+ 'en_CA.UTF-8': i18n_generic,
+ 'en_DK.UTF-8': i18n_generic,
+ 'en_GB.UTF-8': i18n_generic,
+ 'en_HK.UTF-8': i18n_generic,
+ 'en_IE.UTF-8': i18n_generic,
+ 'en_IN': i18n_generic,
+ 'en_NG': i18n_generic,
+ 'en_NZ.UTF-8': i18n_generic,
+ 'en_PH.UTF-8': i18n_generic,
+ 'en_SG.UTF-8': i18n_generic,
+ 'en_US.UTF-8': i18n_generic,
+ 'en_ZA.UTF-8': i18n_generic,
+ 'en_ZW.UTF-8': i18n_generic,
+ 'de_BE.UTF-8': i18n_generic,
+ 'nl_BE.UTF-8': i18n_generic,
+ 'it_IT.UTF-8': i18n_it_generic,
+ 'it_CH.UTF-8': i18n_it_generic,
}
def install_translation(language, locale_path):
- def _construct_by_name(cname,*p,**k):
- """Instantiate an object from its class name with two parameters
- p and k. Python black-magic given by d2"""
- return globals()[cname](*p,**k)
-
- return _construct_by_name(language_class_map[language], language,
- locale_path)
-
+ """Return a new i18n class instance, depending on the specified
+ language name"""
+ language_class = language_class_map.get(language, i18n_generic)
+ return language_class(language, locale_path)
--
1.6.3.3
- [Maposmatic-dev] [PATCH ocitysmap] Zen Karma ++ (Readability counts).,
David Decotigny <=