示例#1
0
文件: search.py 项目: Jerk31/pyrex
class AnalyseResults(DefaultHandler):
    def __init__(self, callback):
        DefaultHandler.__init__(self)
        self.share_results = None
        self.callback = callback

    def startElement(self, name, attrs):
        DefaultHandler.startElement(self, name, attrs)
        if name == "results":
            self.share_results  = []
        elif name == "share":
            self.analyse_share = AnalyseShare()

        if "share" in self.opened:
            self.analyse_share.open(name, attrs)

    def endElement(self, name):
        if "share" in self.opened:
            self.analyse_share.close(name, self.buf)
            if self.analyse_share.share:
                self.share_results.append(self.analyse_share.share)
        else:
            if name == "results":
                self.callback(self.share_results)
        DefaultHandler.endElement(self, name)
示例#2
0
文件: downloads.py 项目: Jerk31/pyrex
class AnalyseDownload(object):
    def __init__(self):
        self.analyse_share = None
        self.share = None
        self.download = None
        self.local_path = None
        self.date = None

    def open(self, name, attrs):
        if name == "share":
            self.analyse_share = AnalyseShare()

        if self.analyse_share:
            self.analyse_share.open(name, attrs)

    def close(self, name, buf):
        if self.analyse_share:
            self.analyse_share.close(name, buf)
            if name == "share":
                self.share = self.analyse_share.share
                self.analyse_share = None
        elif name == "download":
            self.download = Download.get_download(self.share, self.local_path, self.date)
        elif name == "localpath":
            self.local_path = buf
        elif name == "status":
            self.status = buf
        elif name == "date":
            self.date = date.fromtimestamp(int(buf) / 1000)
示例#3
0
文件: search.py 项目: Jerk31/pyrex
    def startElement(self, name, attrs):
        DefaultHandler.startElement(self, name, attrs)
        if name == "results":
            self.share_results  = []
        elif name == "share":
            self.analyse_share = AnalyseShare()

        if "share" in self.opened:
            self.analyse_share.open(name, attrs)
示例#4
0
文件: downloads.py 项目: Jerk31/pyrex
    def open(self, name, attrs):
        if name == "share":
            self.analyse_share = AnalyseShare()

        if self.analyse_share:
            self.analyse_share.open(name, attrs)