+ charsets = [universal_charset, DEFAULT_CHARSET]
+ if charset:
+ charset = charset.lower().replace("windows-", "cp")
+ if charset not in charsets:
+ charsets.insert(0, charset)
+
+ for p in parsers:
+ parser = None
+ for c in charsets:
+ try:
+ parser = p(filename, c, log)
+ break
+ except UnicodeEncodeError:
+ pass
+ if parser:
+ break
+ else:
+ if log: log("Parser %s.%s failed, trying next one." % (p.__module__, p.__name__))
+
+ converted_title = title = parser.title
+ if title and (not parser.charset):