File: base.py

package info (click to toggle)
felix 1.1.1-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 4,992 kB
  • ctags: 1,178
  • sloc: python: 7,260; makefile: 408; sh: 58
file content (48 lines) | stat: -rw-r--r-- 1,106 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#line 103 "interscript/src/sink_drivers.ipk"
import string
class sink_base:
  __class_protocols__ = ['sink','file']
  def __init__(self, **kwds):
    self.lines_written = 0
    self.last_source_file = ''
    self.last_source_line = -1
    self.last_inhibit_sref = 1
    self.closed = 0
    for k in kwds.keys():
      self.__dict__[k]=kwds[k]

  def raw_close(self): pass
  def raw_flush(self): pass
  def raw_eol(self): self.raw_write('\n')
  def isatty(self): return 0

  def raw_writeline(self,line):
    self.raw_write(line)
    self.raw_eol()
    self.lines_written = self.lines_written  + 1

  def writeline(self,line):
    self.write(line + '\n')

  def raw_writelines(self,lines):
    for line in lines: self.raw_writeline(line)

  def writelines(self,lines):
    self.write(string.join(lines,''))

  def get_sink_name(self):
    return self.name

  def write(self,text):
    lines = string.split(text,'\n')
    for line in lines[:-1]:
      self.raw_writeline(line)
    self.raw_write(lines[-1])

  def close(self):
    self.closed = 1
    self.raw_close()

  def flush(self):
    self.raw_flush