def removecomments(self): newrawcontents = list() i = 0 multi_indent = replpython.getpythonindent_multiline(self.rawcontents) while i < len(self.rawcontents): if i == 0: indentlevel, finishflag, unfinishtype = (0, False, -1) else: indentlevel, finishflag, unfinishtype = multi_indent[i - 1] if unfinishtype in { UnfinishType.DOUBLEQUOTE, UnfinishType.SINGLEQUOTE, UnfinishType.LONGSTRING, UnfinishType.COMMENT, UnfinishType.RAWCOMMENT, UnfinishType.RAWLONGSTRING }: newrawcontents.append(self.rawcontents[i]) i += 1 continue if self.rawcontents[i].strip().startswith("#"): i += 1 continue if finishflag and self.rawcontents[i].strip().startswith( THREE_DOUBLEQUOTE): for j in range(i, len(self.rawcontents)): j_indentlevel, j_finishflag, j_unfinishtype = replpython.getpythonindent( self.rawcontents[i:j + 1]) if j_finishflag == True: break i = j + 1 continue newrawcontents.append(self.tructcomments(self.rawcontents[i])) i += 1 self.rawcontents = newrawcontents
def removecomments(self): newrawcontents = list() i = 0 # for i in range(len(self.rawcontents)): multi_indent = replpython.getpythonindent_multiline(self.rawcontents) while i < len(self.rawcontents): # indentlevel, finishflag, unfinishtype = replpython.getpythonindent(self.rawcontents[:(i)]) if i == 0: indentlevel, finishflag, unfinishtype = (0, False, -1) else: indentlevel, finishflag, unfinishtype = multi_indent[i - 1] if unfinishtype in { UnfinishType.DOUBLEQUOTE, UnfinishType.SINGLEQUOTE, UnfinishType.LONGSTRING, UnfinishType.COMMENT }: newrawcontents.append(self.rawcontents[i]) i += 1 continue if self.rawcontents[i].strip().startswith("#"): # self.rawcontents = self.rawcontents[:i] + self.rawcontents[i + 1:] # self.removecomments() # return i += 1 continue if finishflag and self.rawcontents[i].strip().startswith('"""'): for j in range(i, len(self.rawcontents)): j_indentlevel, j_finishflag, j_unfinishtype = replpython.getpythonindent( self.rawcontents[i:j + 1]) if j_finishflag == True: break i = j + 1 continue # self.rawcontents = self.rawcontents[:i] + self.rawcontents[j+1:] # self.removecomments() # return newrawcontents.append(self.tructcomments(self.rawcontents[i])) i += 1 self.rawcontents = newrawcontents