~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/knit.py

  • Committer: John Arbash Meinel
  • Date: 2009-06-22 15:37:06 UTC
  • mto: This revision was merged to the branch mainline in revision 4469.
  • Revision ID: john@arbash-meinel.com-20090622153706-55n968lsh3v3dht7
Respond to Andrew's review comments.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
 
54
54
 
55
55
from cStringIO import StringIO
56
 
from itertools import izip, chain
 
56
from itertools import izip
57
57
import operator
58
58
import os
59
59
import sys
686
686
        content = knit._get_content(key)
687
687
        # adjust for the fact that serialised annotations are only key suffixes
688
688
        # for this factory.
689
 
        if type(key) == tuple:
 
689
        if type(key) is tuple:
690
690
            prefix = key[:-1]
691
691
            origins = content.annotate()
692
692
            result = []
935
935
        """Add a set of lines on top of version specified by parents.
936
936
 
937
937
        Any versions not present will be converted into ghosts.
 
938
 
 
939
        :param lines: A list of strings where each one is a single line (has a
 
940
            single newline at the end of the string) This is now optional
 
941
            (callers can pass None). It is left in its location for backwards
 
942
            compatibility. It should ''.join(lines) must == line_bytes
 
943
        :param line_bytes: A single string containing the content
 
944
 
 
945
        We pass both lines and line_bytes because different routes bring the
 
946
        values to this function. And for memory efficiency, we don't want to
 
947
        have to split/join on-demand.
938
948
        """
939
949
        # first thing, if the content is something we don't need to store, find
940
950
        # that out.
982
992
            lines = osutils.split_lines(line_bytes)
983
993
 
984
994
        for element in key[:-1]:
985
 
            if type(element) != str:
 
995
            if type(element) is not str:
986
996
                raise TypeError("key contains non-strings: %r" % (key,))
987
997
        if key[-1] is None:
988
998
            key = key[:-1] + ('sha1:' + digest,)
989
 
        elif type(key[-1]) != str:
 
999
        elif type(key[-1]) is not str:
990
1000
                raise TypeError("key contains non-strings: %r" % (key,))
991
1001
        # Knit hunks are still last-element only
992
1002
        version_id = key[-1]
1953
1963
        chunks.extend(dense_lines or lines)
1954
1964
        chunks.append("end %s\n" % key[-1])
1955
1965
        for chunk in chunks:
1956
 
            if type(chunk) != str:
 
1966
            if type(chunk) is not str:
1957
1967
                raise AssertionError(
1958
1968
                    'data must be plain bytes was %s' % type(chunk))
1959
1969
        if lines and lines[-1][-1] != '\n':
2399
2409
                    line = "\n%s %s %s %s %s :" % (
2400
2410
                        key[-1], ','.join(options), pos, size,
2401
2411
                        self._dictionary_compress(parents))
2402
 
                    if type(line) != str:
 
2412
                    if type(line) is not str:
2403
2413
                        raise AssertionError(
2404
2414
                            'data must be utf8 was %s' % type(line))
2405
2415
                    lines.append(line)
2594
2604
        result = set()
2595
2605
        # Identify all key prefixes.
2596
2606
        # XXX: A bit hacky, needs polish.
2597
 
        if type(self._mapper) == ConstantMapper:
 
2607
        if type(self._mapper) is ConstantMapper:
2598
2608
            prefixes = [()]
2599
2609
        else:
2600
2610
            relpaths = set()
2632
2642
                    del self._history
2633
2643
                except NoSuchFile:
2634
2644
                    self._kndx_cache[prefix] = ({}, [])
2635
 
                    if type(self._mapper) == ConstantMapper:
 
2645
                    if type(self._mapper) is ConstantMapper:
2636
2646
                        # preserve behaviour for revisions.kndx etc.
2637
2647
                        self._init_index(path)
2638
2648
                    del self._cache
3118
3128
            opaque index memo. For _KnitKeyAccess the memo is (key, pos,
3119
3129
            length), where the key is the record key.
3120
3130
        """
3121
 
        if type(raw_data) != str:
 
3131
        if type(raw_data) is not str:
3122
3132
            raise AssertionError(
3123
3133
                'data must be plain bytes was %s' % type(raw_data))
3124
3134
        result = []
3207
3217
            length), where the index field is the write_index object supplied
3208
3218
            to the PackAccess object.
3209
3219
        """
3210
 
        if type(raw_data) != str:
 
3220
        if type(raw_data) is not str:
3211
3221
            raise AssertionError(
3212
3222
                'data must be plain bytes was %s' % type(raw_data))
3213
3223
        result = []