Internal function.
(value)
| 60 | |
| 61 | |
| 62 | def _stringify(value): |
| 63 | """Internal function.""" |
| 64 | if isinstance(value, (list, tuple)): |
| 65 | if len(value) == 1: |
| 66 | value = _stringify(value[0]) |
| 67 | if _magic_re.search(value): |
| 68 | value = '{%s}' % value |
| 69 | else: |
| 70 | value = '{%s}' % _join(value) |
| 71 | else: |
| 72 | value = str(value) |
| 73 | if not value: |
| 74 | value = '{}' |
| 75 | elif _magic_re.search(value): |
| 76 | # add '\' before special characters and spaces |
| 77 | value = _magic_re.sub(r'\\\1', value) |
| 78 | value = value.replace('\n', r'\n') |
| 79 | value = _space_re.sub(r'\\\1', value) |
| 80 | if value[0] == '"': |
| 81 | value = '\\' + value |
| 82 | elif value[0] == '"' or _space_re.search(value): |
| 83 | value = '{%s}' % value |
| 84 | return value |
| 85 | |
| 86 | |
| 87 | def _flatten(seq): |