self.maxlevel = 6
self.maxtuple = 6
self.maxlist = 6
+ self.maxarray = 5
self.maxdict = 4
self.maxstring = 30
self.maxlong = 40
s = s + self.repr1(x[i], level-1)
if n > self.maxlist: s = s + ', ...'
return '[' + s + ']'
+
+ def repr_array(self, x, level):
+ n = len(x)
+ header = "array('%s', [" % x.typecode
+ if n == 0:
+ return header + "])"
+ if level <= 0:
+ return header + "...])"
+ s = ''
+ for i in range(min(n, self.maxarray)):
+ if s:
+ s += ', '
+ s += self.repr1(x[i], level-1)
+ if n > self.maxarray:
+ s += ', ...'
+ return header + s + "])"
+
def repr_dict(self, x, level):
n = len(x)
if n == 0: return '{}'
eq(r(s), expected)
def test_container(self):
+ from array import array
+
eq = self.assertEquals
# Tuples give up after 6 elements
eq(r(()), "()")
d['arthur'] = 1
eq(r(d), "{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}")
+ # array.array after 5.
+ eq(r(array('i')), "array('i', [])")
+ eq(r(array('i', [1])), "array('i', [1])")
+ eq(r(array('i', [1, 2])), "array('i', [1, 2])")
+ eq(r(array('i', [1, 2, 3])), "array('i', [1, 2, 3])")
+ eq(r(array('i', [1, 2, 3, 4])), "array('i', [1, 2, 3, 4])")
+ eq(r(array('i', [1, 2, 3, 4, 5])), "array('i', [1, 2, 3, 4, 5])")
+ eq(r(array('i', [1, 2, 3, 4, 5, 6])),
+ "array('i', [1, 2, 3, 4, 5, ...])")
+
def test_numbers(self):
eq = self.assertEquals
eq(r(123), repr(123))
Library
-------
+- array.array was added to the types repr.py knows about (see
+ <http://www.python.org/sf/680789>).
+
- The new pickletools.py contains lots of documentation about pickle
internals, and supplies some helpers for working with pickles, such as
a symbolic pickle disassembler.