6.6.5.2. c string tangler

6.6.5.2. c string tangler

Start python section to interscript/tanglers/c.py[3]
    48: #line 263 "tanglers.ipk"
    49: #---------------------------------------------------------
    50: class c_string_tangler(tangler_base):
    51:   def __init__(self,sink,weaver,eol,width):
    52:     print 'Initialising c string tangler, eol=',eol,'width=',width
    53:     tangler_base.__init__(self,sink,weaver)
    54:     self.eol=eol
    55:     self.width=width
    56:     self.language = 'C string'
    57: 
    58:   def writeline(self,data,file,count,inhibit_sref=0):
    59:     data = string.rstrip(data) # remove trailing spaces
    60:     if self.width > 0: data = string.ljust(data, self.width)
    61:     line = '"'
    62:     for ch in data:
    63:       if ch in '\\"': line = line + '\\' + ch
    64:       else: line = line + ch
    65:     line = line + self.eol + '"'
    66:     self._writeline(line)
    67:     self.weaver.writeline(data)
    68: 
End python section to interscript/tanglers/c.py[3]