~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/xml4.py

Merge inventory serialisation tweaks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
from bzrlib.xml_serializer import ElementTree, SubElement, Element, Serializer
18
18
from bzrlib.inventory import ROOT_ID, Inventory, InventoryEntry
19
19
import bzrlib.inventory as inventory
20
 
from bzrlib.revision import Revision        
 
20
from bzrlib.revision import Revision
21
21
from bzrlib.errors import BzrError
22
22
 
23
23
 
24
24
class _Serializer_v4(Serializer):
25
25
    """Version 0.0.4 serializer
26
26
 
27
 
    You should use the serializer_v4 singleton."""
 
27
    You should use the serializer_v4 singleton.
 
28
    
 
29
    v4 serialisation is no longer supported, only deserialisation.
 
30
    """
28
31
    
29
32
    __slots__ = []
30
33
    
31
 
    def _pack_inventory(self, inv):
32
 
        """Convert to XML Element"""
33
 
        # v4 serialization is not used any more.
34
 
        raise NotImplementedError(self._pack_inventory)
35
 
        e = Element('inventory')
36
 
        e.text = '\n'
37
 
        if inv.root.file_id not in (None, ROOT_ID):
38
 
            e.set('file_id', inv.root.file_id)
39
 
        for path, ie in inv.iter_entries():
40
 
            e.append(self._pack_entry(ie))
41
 
        return e
42
 
 
43
 
 
44
34
    def _pack_entry(self, ie):
45
35
        """Convert InventoryEntry to XML element"""
46
36
        e = Element('entry')