~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/static_tuple.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-11-30 22:04:45 UTC
  • mfrom: (4789.28.4 2.1.0b4-builder-no-keys)
  • Revision ID: pqm@pqm.ubuntu.com-20091130220445-vbfmmgocbgcs195q
(jam) Update BTreeBuilder to remove ._keys and use StaticTuple

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
    if type(obj) is not StaticTuple:
41
41
        raise TypeError('We expected a StaticTuple not a %s' % (type(obj),))
42
42
    return obj
 
43
 
 
44
 
 
45
def as_tuples(obj):
 
46
    """Ensure that the object and any referenced objects are plain tuples.
 
47
 
 
48
    :param obj: a list, tuple or StaticTuple
 
49
    :return: a plain tuple instance, with all children also being tuples.
 
50
    """
 
51
    result = []
 
52
    for item in obj:
 
53
        if isinstance(item, (tuple, list, StaticTuple)):
 
54
            item = as_tuples(item)
 
55
        result.append(item)
 
56
    return tuple(result)