Mercurial > public > mercurial-scm > hg
diff hgext/convert/common.py @ 4759:20ec5cc02f18
convert: ove recode method into converter_source
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Sun, 01 Jul 2007 12:58:08 -0700 |
parents | 80fb4ec512b5 |
children | 07efcce17d28 |
line wrap: on
line diff
--- a/hgext/convert/common.py Sun Jul 01 19:19:42 2007 +0200 +++ b/hgext/convert/common.py Sun Jul 01 12:58:08 2007 -0700 @@ -44,6 +44,18 @@ """Return the tags as a dictionary of name: revision""" raise NotImplementedError() + def recode(self, s, encoding=None): + if not encoding: + encoding = hasattr(self, 'encoding') and self.encoding or 'utf-8' + + try: + return s.decode(encoding).encode("utf-8") + except: + try: + return s.decode("latin-1").encode("utf-8") + except: + return s.decode(encoding, "replace").encode("utf-8") + class converter_sink(object): """Conversion sink (target) interface"""