diff options
author | zoidberg10 <zoidberg@mujmail.cz> | 2011-12-08 02:08:35 +0100 |
---|---|---|
committer | zoidberg10 <zoidberg@mujmail.cz> | 2011-12-08 02:08:35 +0100 |
commit | 30ba647fe479d86c3d7bac71908ee56ec80eb928 (patch) | |
tree | 765c5e0295d81f712e070da774d591561848f34b /module/common | |
parent | httprequest: encode('utf_8') for unicode post (diff) | |
parent | updated bottle.py (diff) | |
download | pyload-30ba647fe479d86c3d7bac71908ee56ec80eb928.tar.xz |
Merge
Diffstat (limited to 'module/common')
-rw-r--r-- | module/common/pylgettext.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/module/common/pylgettext.py b/module/common/pylgettext.py new file mode 100644 index 000000000..ae6d39325 --- /dev/null +++ b/module/common/pylgettext.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from gettext import * + +_searchdirs = None + +origfind = find + +def setpaths(pathlist): + global _searchdirs + if isinstance(pathlist, list): + _searchdirs = pathlist + else: + _searchdirs = list(pathlist) + + +def addpath(path): + global _searchdirs + if _searchdirs is None: + _searchdirs = list(path) + else: + if path not in _searchdirs: + _searchdirs.append(path) + + +def delpath(path): + global _searchdirs + if _searchdirs is not None: + if path in _searchdirs: + _searchdirs.remove(path) + + +def clearpath(): + global _searchdirs + if _searchdirs is not None: + _searchdirs = None + + +def find(domain, localedir=None, languages=None, all=False): + if _searchdirs is None: + return origfind(domain, localedir, languages, all) + searches = [localedir] + _searchdirs + results = list() + for dir in searches: + res = origfind(domain, dir, languages, all) + if all is False: + results.append(res) + else: + results.extend(res) + if all is False: + results = filter(lambda x: x is not None, results) + if len(results) == 0: + return None + else: + return results[0] + else: + return results + +#Is there a smarter/cleaner pythonic way for this? +translation.__globals__['find'] = find + |