1: #line 14 "storage_drivers.ipk" 2: from interscript.drivers.sources.base import source 3: from interscript.drivers.sources.base import eof 4: from interscript.drivers.sinks.base import sink 5: 6: class memory(source,sink): 7: def __init__(self,name,**kwds): 8: source.__init__(self) 9: self.name = name 10: self.saved = '' 11: self.list = [] 12: for k in kwds.keys(): 13: self.k = kwds[k] 14: 15: 16: def readline(self): 17: print 'reading memory object',self.name,'line',self.lines_read 18: if len(self.list)>self.lines_read: 19: line = self.list[self.lines_read] 20: else: 21: raise eof 22: if len(line) and line[-1]=='\n': 23: line = line[:-1] 24: self.lines_read = self.lines_read + 1 25: return line 26: 27: def writeline(self,line=''): 28: self.list.append(self.saved+line) 29: self.saved = '' 30: 31: def rewind(self): 32: self.lines_read = 0 33: 34: def write(self,data): 35: self.saved = self.saved + data 36: