bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 1
by mbp at sourcefrog import from baz patch-364 | 1 | #! /usr/bin/env python
 | 
| 2 | # -*- coding: UTF-8 -*-
 | |
| 3 | ||
| 4 | # This program is free software; you can redistribute it and/or modify
 | |
| 5 | # it under the terms of the GNU General Public License as published by
 | |
| 6 | # the Free Software Foundation; either version 2 of the License, or
 | |
| 7 | # (at your option) any later version.
 | |
| 8 | ||
| 9 | # This program is distributed in the hope that it will be useful,
 | |
| 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| 12 | # GNU General Public License for more details.
 | |
| 13 | ||
| 14 | # You should have received a copy of the GNU General Public License
 | |
| 15 | # along with this program; if not, write to the Free Software
 | |
| 16 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | |
| 17 | ||
| 18 | """XML externalization support."""
 | |
| 19 | ||
| 20 | ||
| 21 | __copyright__ = "Copyright (C) 2005 Canonical Ltd." | |
| 22 | __author__ = "Martin Pool <mbp@canonical.com>" | |
| 23 | ||
| 24 | try: | |
| 25 | from cElementTree import Element, ElementTree, SubElement | |
| 26 | except ImportError: | |
| 27
by mbp at sourcefrog - fix up use of ElementTree without cElementTree | 27 | from elementtree.ElementTree import Element, ElementTree, SubElement | 
| 1
by mbp at sourcefrog import from baz patch-364 | 28 | |
| 29 | import os, time | |
| 30 | from trace import mutter | |
| 31 | ||
| 32 | class XMLMixin: | |
| 33 | def to_element(self): | |
| 34 | raise Exception("XMLMixin.to_element must be overridden in concrete classes") | |
| 35 | ||
| 36 | def write_xml(self, f): | |
| 37 | ElementTree(self.to_element()).write(f, 'utf-8') | |
| 38 | f.write('\n') | |
| 39 | ||
| 40 | def read_xml(cls, f): | |
| 41 | return cls.from_element(ElementTree().parse(f)) | |
| 42 | ||
| 43 | read_xml = classmethod(read_xml) | |
| 44 | ||
| 45 | ||
| 46 |