Add a convenient cached CSSSelect method to jsnews

This commit is contained in:
Kovid Goyal 2014-11-25 21:13:31 +05:30
parent 55b7bb8c25
commit 37439fecf6

View File

@ -30,6 +30,18 @@ def image_data_to_url(data, base='cover'):
ans.name = 'cover.' + ext
return ans
css_select_cache = {}
def CSSSelect(expr):
try:
return css_select_cache[expr]
except KeyError:
from cssselect import HTMLTranslator
from lxml.etree import XPath
ans = css_select_cache[expr] = XPath(HTMLTranslator().css_to_xpath(expr))
return ans
class JavascriptRecipe(BasicNewsRecipe):
'''