Lines Matching refs:self
78 def __init__(self, filename=None, file=None, **options):
88 for opt in self.default_options.keys():
90 setattr(self, opt, options[opt])
92 setattr(self, opt, self.default_options[opt])
96 if opt not in self.default_options:
100 self.open(filename)
102 self.filename = filename
103 self.file = file
104 self.current_line = 0 # assuming that file is at BOF!
109 self.linebuf = []
111 def open(self, filename):
114 self.filename = filename
115 self.file = io.open(self.filename, 'r', errors=self.errors)
116 self.current_line = 0
118 def close(self):
121 file = self.file
122 self.file = None
123 self.filename = None
124 self.current_line = None
127 def gen_error(self, msg, line=None):
130 line = self.current_line
131 outmsg.append(self.filename + ", ")
139 def error(self, msg, line=None):
140 raise ValueError("error: " + self.gen_error(msg, line))
142 def warn(self, msg, line=None):
150 sys.stderr.write("warning: " + self.gen_error(msg, line) + "\n")
152 def readline(self):
166 if self.linebuf:
167 line = self.linebuf[-1]
168 del self.linebuf[-1]
175 line = self.file.readline()
179 if self.strip_comments and line:
218 if self.join_lines and buildup_line:
221 self.warn("continuation line immediately precedes "
225 if self.collapse_join:
230 if isinstance(self.current_line, list):
231 self.current_line[1] = self.current_line[1] + 1
233 self.current_line = [self.current_line,
234 self.current_line + 1]
241 if isinstance(self.current_line, list):
242 self.current_line = self.current_line[1] + 1
244 self.current_line = self.current_line + 1
248 if self.lstrip_ws and self.rstrip_ws:
250 elif self.lstrip_ws:
252 elif self.rstrip_ws:
257 if (line == '' or line == '\n') and self.skip_blanks:
260 if self.join_lines:
272 def readlines(self):
277 line = self.readline()
282 def unreadline(self, line):
286 self.linebuf.append(line)