1.1 --- a/micropython/table.py Mon Oct 27 01:19:06 2008 +0100
1.2 +++ b/micropython/table.py Tue Oct 28 01:08:06 2008 +0100
1.3 @@ -34,7 +34,7 @@
1.4 self.names = names
1.5 self.displaced = []
1.6 self.offsets = {}
1.7 - self.offsets_used = set()
1.8 + self.offsets_used = {}
1.9
1.10 self.names_index = {}
1.11 for i, name in enumerate(self.names):
1.12 @@ -52,6 +52,12 @@
1.13
1.14 return self.offsets.get(name)
1.15
1.16 + def get_name(self, code):
1.17 +
1.18 + "Return the name for the given 'code' or offset."
1.19 +
1.20 + return self.offsets_used[code]
1.21 +
1.22 # Simulation methods.
1.23
1.24 def access(self, objname, attrname):
1.25 @@ -89,10 +95,10 @@
1.26 # skipping places where an existing row has been fitted.
1.27
1.28 for offset in xrange(0, len_displaced):
1.29 - if offset in self.offsets_used:
1.30 + if self.offsets_used.has_key(offset):
1.31 continue
1.32 if self._fit_row(offset, attributes, len_displaced):
1.33 - self.offsets_used.add(offset)
1.34 + self.offsets_used[offset] = objname
1.35 self.offsets[objname] = offset
1.36 self._add_row(offset, attributes, len_displaced)
1.37 break
1.38 @@ -101,7 +107,7 @@
1.39 # end.
1.40
1.41 else:
1.42 - self.offsets_used.add(len_displaced)
1.43 + self.offsets_used[len_displaced] = objname
1.44 self.offsets[objname] = len_displaced
1.45 self._add_row(len_displaced, attributes, len_displaced)
1.46