~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/xml4.py

  • Committer: Aaron Bentley
  • Date: 2007-03-12 19:56:41 UTC
  • mto: (1551.19.24 Aaron's mergeable stuff)
  • mto: This revision was merged to the branch mainline in revision 2353.
  • Revision ID: abentley@panoramicfeedback.com-20070312195641-ezjnseqwgjtkh0iu
merge3 auto-detects line endings for conflict markers

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/env python
2
 
 
 
1
# Copyright (C) 2005, 2006 Canonical Ltd
 
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
5
5
# the Free Software Foundation; either version 2 of the License, or
6
6
# (at your option) any later version.
7
 
 
 
7
#
8
8
# This program is distributed in the hope that it will be useful,
9
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
11
# GNU General Public License for more details.
12
 
 
 
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
 
 
18
 
from bzrlib.xml import ElementTree, SubElement, Element, Serializer
 
17
from bzrlib.xml_serializer import ElementTree, SubElement, Element, Serializer
19
18
from bzrlib.inventory import ROOT_ID, Inventory, InventoryEntry
20
19
import bzrlib.inventory as inventory
21
20
from bzrlib.revision import Revision        
22
21
from bzrlib.errors import BzrError
23
22
 
24
23
 
25
 
 
26
 
 
27
 
 
28
 
 
29
24
class _Serializer_v4(Serializer):
30
25
    """Version 0.0.4 serializer
31
26
 
32
 
    You should use the serialzer_v4 singleton."""
 
27
    You should use the serializer_v4 singleton."""
33
28
    
34
29
    __slots__ = []
35
30
    
36
31
    def _pack_inventory(self, inv):
37
32
        """Convert to XML Element"""
 
33
        # v4 serialization is not used any more.
 
34
        raise NotImplementedError(self._pack_inventory)
38
35
        e = Element('inventory')
39
36
        e.text = '\n'
40
37
        if inv.root.file_id not in (None, ROOT_ID):
51
48
        e.set('file_id', ie.file_id)
52
49
        e.set('kind', ie.kind)
53
50
 
54
 
        if ie.text_size != None:
 
51
        if ie.text_size is not None:
55
52
            e.set('text_size', '%d' % ie.text_size)
56
53
 
57
54
        for f in ['text_id', 'text_sha1', 'symlink_target']:
58
55
            v = getattr(ie, f)
59
 
            if v != None:
 
56
            if v is not None:
60
57
                e.set(f, v)
61
58
 
62
59
        # to be conservative, we don't externalize the root pointers
92
89
        ## nodes in the root directory, but it's cleaner to use one
93
90
        ## internally.
94
91
        parent_id = elt.get('parent_id')
95
 
        if parent_id == None:
 
92
        if parent_id is None:
96
93
            parent_id = ROOT_ID
97
94
 
98
95
        kind = elt.get('kind')
116
113
        else:
117
114
            raise BzrError("unknown kind %r" % kind)
118
115
 
119
 
        ## mutter("read inventoryentry: %r" % (elt.attrib))
 
116
        ## mutter("read inventoryentry: %r", elt.attrib)
120
117
 
121
118
        return ie
122
119