diff options
author | mrDoctorWho <mrdoctorwho@gmail.com> | 2015-04-25 19:49:58 +0300 |
---|---|---|
committer | mrDoctorWho <mrdoctorwho@gmail.com> | 2015-04-25 19:49:58 +0300 |
commit | 819131477fc2f1cacecba173772dd7d0cb97c994 (patch) | |
tree | 664af7e157c9eecf9ec92a8884e8c09341268222 /extensions/captcha_forms.py | |
parent | 0515686a9cea8bbe48a5967e097f936143a6d601 (diff) |
Brand new refactored function connect() in the User class and auth() in
VK class
New logic in mod_iq_register
Overall code quality changes.
Diffstat (limited to 'extensions/captcha_forms.py')
-rw-r--r-- | extensions/captcha_forms.py | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/extensions/captcha_forms.py b/extensions/captcha_forms.py index a3ca929..5173932 100644 --- a/extensions/captcha_forms.py +++ b/extensions/captcha_forms.py @@ -5,40 +5,36 @@ from hashlib import sha1 -def sendCaptcha(self): - logger.debug("VKLogin: sending message with captcha to %s" % self.source) - body = _("WARNING: VK sent captcha to you." - " Please, go to %s and enter text from image to chat." - " Example: !captcha my_captcha_key. Tnx") % self.engine.captcha["img"] - msg = xmpp.Message(self.source, body, "chat", frm=TransportID) +def sendCaptcha(user, url): + logger.debug("VKLogin: sending message with captcha to %s" % user.source) + body = _("WARNING: VK has sent you a CAPTCHA." + " Please, follow %s and enter the text shown on the image to the chat." + " Example: !captcha my_captcha_key. Tnx") % url + msg = xmpp.Message(user.source, body, "chat", frm=TransportID) x = msg.setTag("x", namespace=xmpp.NS_OOB) - x.setTagData("url", self.engine.captcha["img"]) + x.setTagData("url", url) captcha = msg.setTag("captcha", namespace=xmpp.NS_CAPTCHA) - image = utils.getLinkData(self.engine.captcha["img"], False) + image = utils.getLinkData(url, False) if image: hash = sha1(image).hexdigest() encoded = image.encode("base64") form = utils.buildDataForm(type="form", fields = [ - {"var": "FORM_TYPE", "value": xmpp.NS_CAPTCHA, "type": "hidden"}, - {"var": "from", "value": TransportID, "type": "hidden"}, - {"var": "ocr", "label": _("Enter shown text"), - "payload": [ - xmpp.Node("required"), - xmpp.Node("media", {"xmlns": xmpp.NS_MEDIA}, - [ - xmpp.Node("uri", {"type": "image/jpg"}, - ["cid:sha1+%s@bob.xmpp.org" % hash] - ) - ]) - ] - } - ]) + {"var": "FORM_TYPE", "value": xmpp.NS_CAPTCHA, "type": "hidden"}, + {"var": "from", "value": TransportID, "type": "hidden"}, + {"var": "ocr", "label": _("Enter shown text"), + "payload": [xmpp.Node("required"), + xmpp.Node("media", {"xmlns": xmpp.NS_MEDIA}, + [xmpp.Node("uri", {"type": "image/jpg"}, + ["cid:sha1+%s@bob.xmpp.org" % hash] + ) + ]) + ]} + ]) captcha.addChild(node=form) oob = msg.setTag("data", {"cid": "sha1+%s@bob.xmpp.org" % hash, "type": "image/jpg", "max-age": "0"}, xmpp.NS_URN_OOB) oob.setData(encoded) sender(Component, msg) - Presence = xmpp.protocol.Presence(self.source, show="xa", status=body, frm=TransportID) - sender(Component, Presence) + sendPresence(user.source, TransportID, show="xa", reason=body) TransportFeatures.update({xmpp.NS_OOB, xmpp.NS_MEDIA, |