6.6.1. Tangler Base class

Start python section to interscript/tanglers/base.py[1 /1 ]
     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:     self.weaver.echotangle(self.sink.lines_written,data)
    27: 
    28:   def _handle_sref(self, file, count, inhibit_sref):
    29:     if not inhibit_sref and not self.inhibit_sref:
    30:       if (file != self.sink.last_source_file or
    31:         count != self.sink.last_source_count+1 or
    32:         self.sink.last_inhibit_sref):
    33:         self.start_section(file,count)
    34:       self.sink.last_inhibit_sref = 0
    35:     else:
    36:       self.sink.last_inhibit_sref = 1
    37:     self.sink.last_source_file = file
    38:     self.sink.last_source_count = count
    39: 
    40:   def writeline(self,data,file,count, inhibit_sref=0):
    41:     self._handle_sref(file,count,inhibit_sref)
    42:     self._write_and_echo(data)
    43: 
    44:   def start_section(self,file,count): pass
    45: 
    46: #---------------------------------------------------------
    47: # builtin tanglers: null, data, c, script
    48: #---------------------------------------------------------
    49: 
End python section to interscript/tanglers/base.py[1]