diff --git a/src/calibre/ebooks/oeb/polish/css.py b/src/calibre/ebooks/oeb/polish/css.py index cb84f20de0..7c96380c8b 100644 --- a/src/calibre/ebooks/oeb/polish/css.py +++ b/src/calibre/ebooks/oeb/polish/css.py @@ -18,6 +18,7 @@ from calibre.ebooks.oeb.polish.pretty import pretty_script_or_style, pretty_xml_ from calibre.utils.icu import numeric_sort_key from css_selectors import Select, SelectorError from polyglot.builtins import iteritems, itervalues, unicode_type, filter +from polyglot.functools import lru_cache def filter_used_rules(rules, log, select): @@ -291,6 +292,7 @@ def _classes_in_selector(selector, classes): classes.add(cn) +@lru_cache(maxsize=4096) def classes_in_selector(text): classes = set() try: