~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/xml4.py

  • Committer: Vincent Ladeuil
  • Date: 2007-07-15 11:24:18 UTC
  • mfrom: (2617 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2646.
  • Revision ID: v.ladeuil+lp@free.fr-20070715112418-9nn4n6esxv60ny4b
merge bzr.dev@1617

Show diffs side-by-side

added added

removed removed

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