def _preAnalyzeImpl(self): LineTextAnalyzer._preAnalyzeImpl(self) #------------------------------------------------------------------------------------------- # REGISTER GLOBAL CLASSES res = CoffeescriptAnalyzer._GLOBALS_PATTERN.finditer(self._raw) if res: for r in res: gs = r.group('globals').replace(' ','').replace('\t','').split(',') for g in gs: if not g in self._globalClasses: self._globalClasses.append(g)
def __init__(self, src ='', debug =False): """Creates a new instance of ClassTemplate.""" blocks = {'root':[ BlockDefinition.createTripleHashDef(BlockDefinition.BLOCKED), BlockDefinition.createHashDef(BlockDefinition.BLOCKED), BlockDefinition.createRegexDef(BlockDefinition.BLOCKED), BlockDefinition.createTripleQuotesDef(BlockDefinition.BLOCKED), BlockDefinition.createTripleLiteralsDef(BlockDefinition.BLOCKED), BlockDefinition.createQuoteDef(BlockDefinition.BLOCKED), BlockDefinition.createLiteralDef(BlockDefinition.BLOCKED), BlockDefinition.createParensDef(), BlockDefinition.createBracketsDef(), BlockDefinition.createBracesDef() ]} LineTextAnalyzer.__init__(self, src, debug, blocks) self._globalClasses = []
def _redactBlockImpl(self, block, source, replace): replace = LineTextAnalyzer._redactBlockImpl(self, block, source, replace) #----------------------------------------------------------------------------------- # FIND STRING VARIABLES AND RETAIN THEM if block.blockType == BlockSyntaxEnum.STRING and '"' in block.pattern: variables = self._findCommentVariables(source) out = replace for v in variables: out = out[:v[0]] + source[v[0]:v[1]] + out[v[1]:] return out return replace