1.1 --- a/iixr/positions.py Sat Nov 20 00:00:01 2010 +0100
1.2 +++ b/iixr/positions.py Sat Nov 20 00:01:14 2010 +0100
1.3 @@ -19,7 +19,7 @@
1.4 """
1.5
1.6 from iixr.files import *
1.7 -from iixr.data import vint, vint_to_array
1.8 +from iixr.data import vint, vint_to_array, string_to_array
1.9 from array import array
1.10
1.11 class PositionWriter(FileWriter):
1.12 @@ -53,8 +53,11 @@
1.13
1.14 last = 0
1.15
1.16 - for position in positions:
1.17 + # Handle tuples incorporating preceding text.
1.18 +
1.19 + for position, preceding in positions:
1.20 vint_to_array(position - last, output)
1.21 + string_to_array(preceding, output)
1.22 last = position
1.23
1.24 output.tofile(self.f)
1.25 @@ -89,7 +92,8 @@
1.26
1.27 while i < npositions:
1.28 last += self.read_number()
1.29 - positions.append(last)
1.30 + preceding = self.read_string()
1.31 + positions.append((last, preceding))
1.32 i += 1
1.33
1.34 return self.last_docnum, positions