| 3811 | self._writer(stream, self.results, '') |
| 3812 | |
| 3813 | def _writer(self, stream, node, prefix): |
| 3814 | if not node: return |
| 3815 | if hasattr(node, 'keys'): |
| 3816 | keys = node.keys() |
| 3817 | keys.sort() |
| 3818 | for k in keys: |
| 3819 | if k in ('description', 'link'): continue |
| 3820 | if node.has_key(k + '_detail'): continue |
| 3821 | if node.has_key(k + '_parsed'): continue |
| 3822 | self._writer(stream, node[k], prefix + k + '.') |
| 3823 | elif type(node) == types.ListType: |
| 3824 | index = 0 |
| 3825 | for n in node: |
| 3826 | self._writer(stream, n, prefix[:-1] + '[' + str(index) + '].') |
| 3827 | index += 1 |
| 3828 | else: |
| 3829 | try: |
| 3830 | s = str(node).encode('utf-8') |
| 3831 | s = s.replace('\\', '\\\\') |
| 3832 | s = s.replace('\r', '') |
| 3833 | s = s.replace('\n', r'\n') |
| 3834 | stream.write(prefix[:-1]) |
| 3835 | stream.write('=') |
| 3836 | stream.write(s) |
| 3837 | stream.write('\n') |
| 3838 | except: |
| 3839 | pass |
| 3840 | |
| 3841 | class PprintSerializer(Serializer): |
| 3842 | def write(self, stream=sys.stdout): |