0001-forms-fix-export-of-workflow-options-filled-with-non.patch
tests/test_formdef_import.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 | ||
1 | 3 |
import sys |
2 | 4 |
import shutil |
3 | 5 |
import StringIO |
... | ... | |
139 | 141 |
def test_workflow_options(): |
140 | 142 |
formdef = FormDef() |
141 | 143 |
formdef.name = 'workflow options' |
142 |
formdef.workflow_options = {'foo': 'bar'} |
|
144 |
formdef.workflow_options = {'foo': 'bar', |
|
145 |
'foo2': 'baré'} |
|
143 | 146 |
fd2 = assert_xml_import_export_works(formdef) |
144 | 147 |
assert fd2.workflow_options == formdef.workflow_options |
145 | 148 |
fd2 = assert_json_import_export_works(formdef) |
wcs/formdef.py | ||
---|---|---|
639 | 639 |
element.attrib['varname'] = option |
640 | 640 |
option_value = self.workflow_options.get(option) |
641 | 641 |
if isinstance(option_value, basestring): |
642 |
element.text = self.workflow_options.get(option)
|
|
642 |
element.text = unicode(self.workflow_options.get(option, ''), charset)
|
|
643 | 643 |
else: |
644 | 644 |
pass # TODO: extend support to other types |
645 | 645 | |
... | ... | |
704 | 704 | |
705 | 705 |
formdef.workflow_options = {} |
706 | 706 |
for option in tree.findall('options/option'): |
707 |
formdef.workflow_options[option.attrib.get('varname')] = option.text |
|
707 |
formdef.workflow_options[option.attrib.get('varname')] = option.text.encode(charset)
|
|
708 | 708 | |
709 | 709 |
if tree.find('last_modification') is not None: |
710 | 710 |
node = tree.find('last_modification') |
711 |
- |