class StoryItem(NemoItem): """ begin of a story item (see starlab) """ typecharacter = "[" typecharacter = "[" datatype = None def read(self, nemofile): self.data = OrderedMultiDictionary() subitem = nemofile.read_item() while not subitem.isEndOfHistory(): self.data[subitem.tagstring] = subitem subitem = nemofile.read_item() def write(self, nemofile): for x in self.data.values(): nemofile.write_item(x) nemofile.write_item(YrotsItem(self.tagstring, [1]))
class SetItem(NemoItem): """ begin compound item """ typecharacter = "(" datatype = None def __init__(self, tagstring, dimensions=[1], data=None, mustswap=False): if data is None: data = OrderedMultiDictionary() NemoItem.__init__(self, tagstring, dimensions, data, mustswap) def read(self, nemofile): self.data = OrderedMultiDictionary() subitem = nemofile.read_item() while not subitem.isEndOfSet(): self.data[subitem.tagstring] = subitem subitem = nemofile.read_item() def write(self, nemofile): for x in self.data.values(): nemofile.write_item(x) nemofile.write_item(TesItem(self.tagstring, [1])) def add_item(self, item): self.data[item.tagstring] = item
class SetItem(NemoItem): """ begin compound item """ typecharacter = "(" datatype = None def __init__(self, tagstring, dimensions = [1], data = None, mustswap = False): if data is None: data = OrderedMultiDictionary() NemoItem.__init__(self, tagstring, dimensions, data, mustswap) def read(self, nemofile): self.data = OrderedMultiDictionary() subitem = nemofile.read_item() while not subitem.isEndOfSet(): self.data[subitem.tagstring] = subitem subitem = nemofile.read_item() def write(self, nemofile): for x in self.data.values(): nemofile.write_item(x) nemofile.write_item(TesItem(self.tagstring, [1])) def add_item(self, item): self.data[item.tagstring] = item