4 # Copyright 2009 Develer S.r.l. (http://www.develer.com/)
9 # Author: Lorenzo Berni <duplo@develer.com>
12 from PyQt4.QtCore import *
14 def getString(qvariant):
15 string = unicode(qvariant.toString())
18 def convertString(string):
19 return QVariant(string)
21 def getStringList(qvariant):
23 for element in qvariant.toStringList():
24 string_list.append(unicode(element))
27 def convertStringList(string_list):
29 for element in string_list:
30 result.append(QString(element))
31 return QVariant(QStringList(result))
33 def getStringDict(qvariant):
35 qvariant_item = qvariant.toPyObject()
36 if qvariant_item == NotImplemented:
38 for key, value in qvariant_item.items():
39 dict_str_str[unicode(key)] = unicode(value.toString())
42 def convertStringDict(string_dict):
44 for key, value in string_dict.items():
45 result[QString(key)] = QVariant(QString(value))
46 return QVariant(result)
48 def getBool(qvariant):
49 return qvariant.toBool()
51 def convertBool(boolean):
52 return QVariant(boolean)
54 def getBoolDict(qvariant):
56 qvariant_item = qvariant.toPyObject()
57 if qvariant_item == NotImplemented:
59 for key, value in qvariant_item.items():
60 dict_str_bool[unicode(key)] = value.toBool()
63 def convertBoolDict(dict_str_bool):
65 for key, value in dict_str_bool:
66 result[QString(key)] = QVariant(value)
67 return QVariant(result)
69 def getDict(qvariant):
71 qvariant_item = qvariant.toPyObject()
72 if qvariant_item == NotImplemented:
74 for key, value in qvariant_item.items():
75 dict_str_variant[unicode(key)] = value
76 return dict_str_variant
78 def convertDict(dict_str_variant):
80 for key, value in dict_str_variant.items():
81 if type(value) == str or type(value) == unicode:
82 result[QString(key)] = QVariant(QString(value))
83 elif type(value) == list:
84 result[QString(key)] = QVariant(QStringList(value))
85 elif type(value) == dict:
86 result[QString(key)] = QVariant(convertDict(value))
87 return QVariant(result)