1: #line 89 "tanglers.ipk" 2: #--------------------------------------------------------- 3: # tangler base 4: #--------------------------------------------------------- 5: class tangler_base: 6: __class_protocols__ = 'tangler' 7: def __init__(self,sink,weaver): 8: self.sink = sink 9: self.weaver = weaver 10: self.inhibit_sref = 0 11: self.pass_frame = weaver.pass_frame 12: self.master = self.pass_frame.master 13: self.process = self.master.process 14: self.language = 'data' 15: 16: def get_language(self): return self.language 17: 18: def write_comment(self,line): 19: pass 20: 21: def _writeline(self,data): 22: self.sink.writeline(data) 23: 24: def _write_and_echo(self,data): 25: self._writeline(data) 26: if self.weaver: 27: self.weaver.echotangle(self.sink.lines_written,data) 28: 29: def writeline(self,data,file,count, inhibit_sref=0): 30: if not inhibit_sref and not self.inhibit_sref: 31: if (file != self.sink.last_source_file or 32: count != self.sink.last_source_count+1): 33: self.start_section(file,count) 34: self.sink.last_source_file = file 35: self.sink.last_source_count = count 36: self._write_and_echo(data) 37: 38: def start_section(self,file,count): pass 39: 40: #--------------------------------------------------------- 41: # builtin tanglers: null, data, c, script 42: #--------------------------------------------------------- 43: