Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utils.py « library - github.com/mrDoctorWho/vk4xmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 00e03608937f988df6c64617265ceca679c05868 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# coding: utf-8
# This file is a part of VK4XMPP transport
# © simpleApps, 2014.

import xmpp, urllib
from hashlib import sha1

##needed: requred fields
## needed: form title

def buildDataForm(form=None, type="submit", fields=[], title=None):
	form = form or xmpp.DataForm(type, title=title)
	for key in fields:
		field = form.setField(key["var"], key.get("value"), key.get("type"), key.get("options"))
		if key.get("payload"):
			field.setPayload(key["payload"])
		if key.get("label"):
			field.setLabel(key["label"])
		if key.get("requred"):
			field.setRequired()

	return form

def buildIQError(stanza, error=None, text=None):
	if not error:
		error = xmpp.ERR_FEATURE_NOT_IMPLEMENTED
	error = xmpp.Error(stanza, error, True)
	if text:
		eTag = error.getTag("error")
		eTag.setTagData("text", text)
	return error

def getLinkData(url, encode=True):
	try:
		opener = urllib.urlopen(url)
	except Exception:
		return ""
	data = opener.read()
	if data and encode:
		data = data.encode("base64")
	return data