view pyikriam/lazy/www/work/find.py @ 79:9d92e8c12f58

rewrited the code in XPath.
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Fri, 24 Oct 2008 21:46:33 +0800
parents a4c364888197
children 60c4b4b78a01
line wrap: on
line source

from lxml import etree
from cStringIO import StringIO

class Finder:

    dom_tree = None
    xpath = None

    def __init__(self, working_product):
        self.working_prodcut = working_product

        self.encoding = 'utf8'
        parser = etree.HTMLParser(encoding=self.encoding)
        self.dom_tree = etree.parse(StringIO(self.working_prodcut.content), parser)
    
    def find(self, express , callback = None):
        xpath = self.dom_tree.xpath(express)
        
        if callback is None:
            ret = xpath
        else:
            ret = self.callback(xpath)
        return ret