Lines Matching refs:self
87 def __init__(self):
88 self.blockStack = [ None ]
92 self.transformStack = [ True ]
95 self.vuStack = [ False ]
99 self.para = []
103 self.lastTitle = False
107 self.leadIndent = 0
110 self.hangIndent = 0
113 self.lineNumber = 0
116 self.defaultApiName = '{refpage}'
117 self.apiName = self.defaultApiName
121 def incrLineNumber(self):
122 self.lineNumber = self.lineNumber + 1
124 def isOpenBlockDelimiter(self, line):
131 def resetPara(self):
133 self.para = []
134 self.leadIndent = 0
135 self.hangIndent = 0
137 def endBlock(self, line, transform, vuBlock):
142 if self.blockStack[-1] == line:
143 logDiag('endBlock line', self.lineNumber,
144 ': popping block end depth:', len(self.blockStack),
149 if self.isOpenBlockDelimiter(line):
150 logDiag('reset apiName to empty at line', self.lineNumber)
151 self.apiName = self.defaultApiName
154 self.lineNumber)
156 self.blockStack.pop()
157 self.transformStack.pop()
158 self.vuStack.pop()
161 self.blockStack.append(line)
162 self.transformStack.append(transform)
163 self.vuStack.append(vuBlock)
165 logDiag('endBlock transform =', transform, ' line', self.lineNumber,
166 ': pushing block start depth', len(self.blockStack),
169 def addLine(self, line, indent):
171 if self.para == []:
173 self.para = [line]
174 self.leadIndent = indent
175 self.hangIndent = indent
179 if self.hangIndent == self.leadIndent:
180 self.hangIndent = indent
181 self.para.append(line)
187 def __init__(self, state):
188 self.isVU = state.vuStack[-1] if len(state.vuStack) > 0 else False
191 self.apiName = state.apiName
195 self.leadIndent = state.leadIndent
198 self.hangIndent = state.hangIndent
201 self.lineNumber = state.lineNumber
220 def __init__(self,
224 self.filename = filename
227 self.outfile = outfile
230 self.state = TransformState()
233 self.callback = callback
236 def printLines(self, lines):
241 if self.outfile is not None:
243 print(line, file=self.outfile, end='')
245 def emitPara(self):
250 if self.state.para != []:
251 transformedPara = self.state.para
253 if self.state.transformStack[-1]:
254 callbackState = TransformCallbackState(self.state)
256 transformedPara = self.callback.transformParagraph(
257 self.state.para,
260 self.printLines(transformedPara)
262 self.state.resetPara()
264 def endPara(self, line):
267 logDiag('endPara line', self.state.lineNumber, ': emitting paragraph')
270 self.emitPara()
273 self.printLines([line])
275 def endParaContinue(self, line):
278 self.endPara(line)
280 def endBlock(self, line, transform = False, vuBlock = False):
287 self.endPara(line)
288 self.state.endBlock(line, transform, vuBlock)
290 def endParaBlockTransform(self, line, vuBlock):
293 self.endBlock(line, transform = True, vuBlock = vuBlock)
295 def endParaBlockPassthrough(self, line):
298 self.endBlock(line, transform = False)
300 def addLine(self, line):
312 logDiag('addLine line', self.state.lineNumber, ':', line, end='')
318 if self.state.para != [] and indent < self.state.hangIndent:
320 self.emitPara()
326 self.emitPara()
328 self.state.addLine(line, indent)
330 def apiMatch(self, oldname, newname):
338 def transformFile(self, lines):
342 self.state.incrLineNumber()
355 self.endParaBlockTransform(line, vuBlock = True)
362 vuBlock = (self.state.lineNumber > 1 and
363 lines[self.state.lineNumber-2] == '.Valid Usage\n')
365 self.endParaBlockTransform(line, vuBlock)
371 self.endPara(line)
382 if self.state.apiName != self.state.defaultApiName:
389 if not self.apiMatch(self.state.apiName, apiName):
390 logDiag(f'Promoted API name mismatch at line {self.state.lineNumber}: {apiName} does not match self.state.apiName (this is OK if it is just a spelling alias)')
392 self.state.apiName = apiName
398 self.endParaContinue(line)
414 self.endParaBlockPassthrough(line)
415 elif self.state.lastTitle:
419 self.endPara(line)
424 self.addLine(line)
434 # if (self.state.vuStack[-1]
436 # and conditionalStart.match(lines[self.state.lineNumber-2])):
437 # self.callback.onEmbeddedVUConditional(self.state)
439 self.state.lastTitle = thisTitle
442 self.endPara(None)
445 if len(self.state.blockStack) > 1:
446 logWarn('file', self.filename,
448 self.state.blockStack[-1])