Exemplo n.º 1
0
    def __init__(self,
                 host='localhost',
                 port=8080,
                 path='sensei',
                 sysinfo=None):
        self.host = host
        self.port = port
        self.path = path
        self.url = 'http://%s:%d/%s' % (self.host, self.port, self.path)
        self.opener = urllib2.build_opener()
        self.opener.addheaders = [(
            'User-agent',
            'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30'
        )]

        if sysinfo:
            self.sysinfo = SenseiSystemInfo(sysinfo)
        else:
            urlReq = urllib2.Request(self.url + "/sysinfo")
            res = self.opener.open(urlReq)
            line = res.read()
            jsonObj = json.loads(line)
            # print json.dumps(jsonObj, indent=4)
            self.sysinfo = SenseiSystemInfo(jsonObj)
        self.facet_map = {}
        for facet_info in self.sysinfo.get_facet_infos():
            self.facet_map[facet_info.get_name()] = facet_info

        self.parser = BQLParser(self.facet_map)