Mercurial > babel > mirror
changeset 593:99983baf1067 trunk
resort to hard-coded message extractors/checkers if pkg_resources is installed but no egg-info was found (#230)
author | fschwarz |
---|---|
date | Thu, 09 Aug 2012 11:20:25 +0000 |
parents | e6b1efa9a255 |
children | 5ba68e40d1d0 |
files | ChangeLog babel/messages/checkers.py babel/messages/extract.py |
diffstat | 3 files changed, 17 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -49,6 +49,8 @@ * no warnings when running setup.py without installed setuptools (#262) * modified Locale.__eq__ method so Locales are only equal if all of their attributes (language, territory, script, variant) are equal + * resort to hard-coded message extractors/checkers if pkg_resources is + installed but no egg-info was found (#230) Version 0.9.6
--- a/babel/messages/checkers.py +++ b/babel/messages/checkers.py @@ -160,13 +160,18 @@ def _find_checkers(): + checkers = [] try: from pkg_resources import working_set except ImportError: + pass + else: + for entry_point in working_set.iter_entry_points('babel.checkers'): + checkers.append(entry_point.load()) + if len(checkers) == 0: + # if pkg_resources is not available or no usable egg-info was found + # (see #230), just resort to hard-coded checkers return [num_plurals, python_format] - checkers = [] - for entry_point in working_set.iter_entry_points('babel.checkers'): - checkers.append(entry_point.load()) return checkers
--- a/babel/messages/extract.py +++ b/babel/messages/extract.py @@ -255,15 +255,18 @@ try: from pkg_resources import working_set except ImportError: - # pkg_resources is not available, so we resort to looking up the - # builtin extractors directly - builtin = {'ignore': extract_nothing, 'python': extract_python} - func = builtin.get(method) + pass else: for entry_point in working_set.iter_entry_points(GROUP_NAME, method): func = entry_point.load(require=True) break + if func is None: + # if pkg_resources is not available or no usable egg-info was found + # (see #230), we resort to looking up the builtin extractors + # directly + builtin = {'ignore': extract_nothing, 'python': extract_python} + func = builtin.get(method) if func is None: raise ValueError('Unknown extraction method %r' % method)