Mercurial > sat_tmp
comparison sat_tmp/wokkel/data_form.py @ 69:0721b6254c9e
python 3 port:
- applied 2to3
- replaced zope's implements by @implementer decorator
- replaced references to python2 by python3
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 13 Aug 2019 18:58:11 +0200 |
parents | 1245269f9aab |
children |
comparison
equal
deleted
inserted
replaced
68:042a926cf3b2 | 69:0721b6254c9e |
---|---|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 | 19 |
20 from wokkel import data_form | 20 from wokkel import data_form |
21 from twisted.words.xish import domish | 21 from twisted.words.xish import domish |
22 | 22 |
23 NS_XML_ELEMENT = u"urn:xmpp:xml-element" | 23 NS_XML_ELEMENT = "urn:xmpp:xml-element" |
24 | 24 |
25 | 25 |
26 class Field(data_form.Field): | 26 class Field(data_form.Field): |
27 """Field class adding implementation for XML Element""" | 27 """Field class adding implementation for XML Element""" |
28 | 28 |
47 raise ValueError('Invalid main type for a extended type field') | 47 raise ValueError('Invalid main type for a extended type field') |
48 if len(self.values) != 1: | 48 if len(self.values) != 1: |
49 raise ValueError('extended type must have one and only one value') | 49 raise ValueError('extended type must have one and only one value') |
50 if self.options: | 50 if self.options: |
51 raise ValueError('options must not be set for extented type') | 51 raise ValueError('options must not be set for extented type') |
52 if self.ext_type == u'xml': | 52 if self.ext_type == 'xml': |
53 if not isinstance(self.value, domish.Element): | 53 if not isinstance(self.value, domish.Element): |
54 raise ValueError('invalid value, a domish.Element is expected') | 54 raise ValueError('invalid value, a domish.Element is expected') |
55 else: | 55 else: |
56 raise ValueError( | 56 raise ValueError( |
57 'Unknown extended type: {ext_type}'.format(ext_type=self.ext_type)) | 57 'Unknown extended type: {ext_type}'.format(ext_type=self.ext_type)) |
67 field_elt['type'] = self.fieldType | 67 field_elt['type'] = self.fieldType |
68 | 68 |
69 if self.var is not None: | 69 if self.var is not None: |
70 field_elt['var'] = self.var | 70 field_elt['var'] = self.var |
71 | 71 |
72 wrapper_elt = field_elt.addElement((NS_XML_ELEMENT, u'wrapper')) | 72 wrapper_elt = field_elt.addElement((NS_XML_ELEMENT, 'wrapper')) |
73 wrapper_elt.addChild(self.value) | 73 wrapper_elt.addChild(self.value) |
74 | 74 |
75 if asForm: | 75 if asForm: |
76 if self.label is not None: | 76 if self.label is not None: |
77 field_elt['label'] = self.label | 77 field_elt['label'] = self.label |
86 | 86 |
87 @staticmethod | 87 @staticmethod |
88 def fromElement(element): | 88 def fromElement(element): |
89 field = super(Field, Field).fromElement(element) | 89 field = super(Field, Field).fromElement(element) |
90 if element.wrapper and element.wrapper.uri == NS_XML_ELEMENT: | 90 if element.wrapper and element.wrapper.uri == NS_XML_ELEMENT: |
91 field.ext_type = u"xml" | 91 field.ext_type = "xml" |
92 field.value = element.wrapper.firstChildElement() | 92 field.value = element.wrapper.firstChildElement() |
93 return field | 93 return field |
94 | 94 |
95 | 95 |
96 def install(): | 96 def install(): |