diff options
author | Sayamindu Dasgupta <sayamindu@gmail.com> | 2010-02-08 18:15:39 (GMT) |
---|---|---|
committer | Sayamindu Dasgupta <sayamindu@gmail.com> | 2010-02-08 18:15:39 (GMT) |
commit | 85840b269f9b28f9d53f5159d23eeedf744135a6 (patch) | |
tree | 85ec59c5900dfbc989361f4549ce9ad238a51a15 | |
parent | 415f3a30660377703929f2c8f6ec0cf60c11bacc (diff) |
Style and PEP8 fixes
-rw-r--r-- | src/sugar/activity/i18n.py | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/sugar/activity/i18n.py b/src/sugar/activity/i18n.py index b973221..e45fc19 100644 --- a/src/sugar/activity/i18n.py +++ b/src/sugar/activity/i18n.py @@ -27,9 +27,10 @@ import sys import dateutil.parser import time -_MO_BIG_ENDIAN = 0xde120495 +_MO_BIG_ENDIAN = 0xde120495 _MO_LITTLE_ENDIAN = 0x950412de + def _readbin(handle, fmt, bytecount): read_bytes = handle.read(bytecount) retvalue = struct.unpack(fmt, read_bytes) @@ -38,6 +39,7 @@ def _readbin(handle, fmt, bytecount): else: return retvalue + def _extract_header(filepath): header = '' handle = open(filepath, 'rb') @@ -48,9 +50,9 @@ def _extract_header(filepath): elif magic_number == _MO_LITTLE_ENDIAN: fmt = '<II' else: - raise IOError ('File does not seem to be valid MO file') + raise IOError('File does not seem to be valid MO file') - version, numofstrings = _readbin(handle, fmt, 8) + version_, numofstrings = _readbin(handle, fmt, 8) msgids_hash_offset, msgstrs_hash_offset = _readbin(handle, fmt, 8) handle.seek(msgids_hash_offset) @@ -78,6 +80,7 @@ def _extract_header(filepath): handle.close() return header + def _extract_modification_time(filepath): header = _extract_header(filepath) items = header.split('\n') @@ -87,36 +90,36 @@ def _extract_modification_time(filepath): parsedtime = dateutil.parser.parse(timestr) return time.mktime(parsedtime.timetuple()) - raise ValueError ('Could not find revision date') + raise ValueError('Could not find revision date') return -1 def get_locale_path(bundle_id): - """ Gets the locale path, the directory where the preferred + """ Gets the locale path, the directory where the preferred MO file is located. bundle_id -- The bundle id of the activity in question - The preferred MO file is the one with the latest + The preferred MO file is the one with the latest translation. """ - + # Note: We pre-assign weights to the directories so that if no translations # exist, the appropriate fallbacks (eg: bn for bn_BD) can be loaded # The directory with the highest weight is returned, and if a MO file is # found, the weight of the directory is set to the MO's modification time # (as described in the MO header, and _not_ the filesystem mtime) - + candidate_dirs = {} if 'SUGAR_LOCALEDIR' in os.environ: candidate_dirs[os.environ['SUGAR_LOCALEDIR']] = 2 - + gconf_client = gconf.client_get_default() - packdir = gconf_client.get_string("/desktop/sugar/i18n/langpackdir") - if packdir is not None or packdir is not '': - candidate_dirs[packdir] = 1 - + package_dir = gconf_client.get_string("/desktop/sugar/i18n/langpackdir") + if package_dir is not None or package_dir is not '': + candidate_dirs[package_dir] = 1 + candidate_dirs[os.path.join(sys.prefix, 'share', 'locale')] = 0 for candidate_dir in candidate_dirs.keys(): @@ -133,5 +136,6 @@ def get_locale_path(bundle_id): # Set lowest priority candidate_dirs[candidate_dir] = -1 + # Fancy way to sort the dictionary by value return sorted(candidate_dirs.iteritems(), key=lambda (k, v): (v, k), \ - reverse = True)[0][0] + reverse=True)[0][0] |