Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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