From 8ece061387c792e34d50407aa5c31a7af31d1e8e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 3 Apr 2019 14:40:34 +0530 Subject: [PATCH] py3: misc fixes --- src/calibre/utils/mreplace.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/utils/mreplace.py b/src/calibre/utils/mreplace.py index 09dca051d0..c4b70836cd 100644 --- a/src/calibre/utils/mreplace.py +++ b/src/calibre/utils/mreplace.py @@ -4,7 +4,10 @@ __copyright__ = '2010, sengian ' __docformat__ = 'restructuredtext en' import re -from UserDict import UserDict +try: + from collections import UserDict +except ImportError: + from UserDict import UserDict class MReplace(UserDict): @@ -18,7 +21,7 @@ class MReplace(UserDict): def compile_regex(self): if len(self.data) > 0: - keys = sorted(self.data.keys(), key=len, reverse=True) + keys = sorted(self.data, key=len, reverse=True) tmp = "(%s)" % "|".join(map(re.escape, keys)) if self.re != tmp: self.re = tmp @@ -35,4 +38,3 @@ class MReplace(UserDict): if len(self.data) < 1 or self.re is None: return text return self.regex.sub(self, text) -