Mercurial > babel > old > mirror
changeset 283:c1654337d53b
In `Locale.parse()`, only parse the argument if it's a string, otherwise just return the argument. This assumes that a non-string argument is either a `Locale` instance, or a proxy object pretending to be one. That may not be a safe assumption, but at least it allows you to use proxy objects such as Paste's `StackedObjectProxy` for locales.
author | cmlenz |
---|---|
date | Wed, 05 Sep 2007 16:40:17 +0000 |
parents | 4fef88242782 |
children | e9550fb98127 |
files | babel/core.py |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/babel/core.py +++ b/babel/core.py @@ -206,9 +206,9 @@ requested locale :see: `parse_locale` """ - if type(identifier) is cls: - return identifier - return cls(*parse_locale(identifier, sep=sep)) + if isinstance(identifier, basestring): + return cls(*parse_locale(identifier, sep=sep)) + return identifier parse = classmethod(parse) def __eq__(self, other):