# HG changeset patch # User Paul Boddie # Date 1225152486 -3600 # Node ID 390c6b60cc04c3819e882e39a0e86c06bbef5b79 # Parent b46b27a60bcd8f498db967fe2528d2d562addc03 Add name retrieval method for checking raw output and ensuring that each object uses the appropriate classcode. diff -r b46b27a60bcd -r 390c6b60cc04 micropython/table.py --- a/micropython/table.py Mon Oct 27 01:19:06 2008 +0100 +++ b/micropython/table.py Tue Oct 28 01:08:06 2008 +0100 @@ -34,7 +34,7 @@ self.names = names self.displaced = [] self.offsets = {} - self.offsets_used = set() + self.offsets_used = {} self.names_index = {} for i, name in enumerate(self.names): @@ -52,6 +52,12 @@ return self.offsets.get(name) + def get_name(self, code): + + "Return the name for the given 'code' or offset." + + return self.offsets_used[code] + # Simulation methods. def access(self, objname, attrname): @@ -89,10 +95,10 @@ # skipping places where an existing row has been fitted. for offset in xrange(0, len_displaced): - if offset in self.offsets_used: + if self.offsets_used.has_key(offset): continue if self._fit_row(offset, attributes, len_displaced): - self.offsets_used.add(offset) + self.offsets_used[offset] = objname self.offsets[objname] = offset self._add_row(offset, attributes, len_displaced) break @@ -101,7 +107,7 @@ # end. else: - self.offsets_used.add(len_displaced) + self.offsets_used[len_displaced] = objname self.offsets[objname] = len_displaced self._add_row(len_displaced, attributes, len_displaced)