コード例 #1
0
ファイル: xmpp.py プロジェクト: tanwanirahul/leela
 def handle_select(self, request, sender, cc):
     try:
         if ((request["select"]["regex"] == "leela.xmpp") and (request["select"]["proc"] == "*")):
             data0 = yield self.redis.hgetall("leela.xmpp")
             tmp   = []
             for (key, data1) in data0.iteritems():
                 data = parser.parse_json(data1)
                 sql  = pp.render_select(data["request"]["select"]["proc"],
                                         data["request"]["select"]["regex"])
                 if (data["sender"] == sender.userhost()):
                     tmp.append({"key": key,
                                 "cmd": sql
                                })
             cc(200, {"results": tmp})
         else:
             hcode = hashlib.sha512()
             hcode.update(sender.userhost())
             hcode.update(request["select"]["proc"])
             hcode.update(request["select"]["regex"])
             key   = hcode.hexdigest()
             self.redis.hsetnx("leela.xmpp", key, pp.render_json({"request": request, "sender": sender.userhost()}))
     except:
         logger.exception()
         cc(500, {"reason": "internal server error"})
コード例 #2
0
ファイル: test_pp.py プロジェクト: deferraz/leela
def test_render_select():
    eq_("SELECT id FROM regex;", pp.render_select("id", "regex"))
コード例 #3
0
def test_render_select():
    eq_("SELECT id FROM regex;", pp.render_select("id", "regex"))
コード例 #4
0
ファイル: xmpp.py プロジェクト: tanwanirahul/leela
 def _sendmsg(self, status, msg):
     xml = xmppim.Message(recipient=self.peer).toElement()
     sql = pp.render_select(self.query["proc"], self.query["regex"])
     dbg = {"request": {"cmd": sql, "key": self.key}}
     self.xmpp.mkcc(xml, dbg)(status, msg)