Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- class PreProcessor:
- def __init__(self,fn='null',index=-1):
- self.breakpoint = index
- self.file_name = fn
- def setBreakpoint(self,index):
- self.breakpoint = index
- def setFile(self,file_name):
- self.file_name = file_name
- def clean(self):
- try:
- os.system("rm .debug_temp.py")
- return 1
- except:
- return 0
- def _get_vars(self):
- f = open(self.file_name,"r")
- variables = []
- current_line = ""
- found_mark = False
- for line in f:
- current_line = line
- if (current_line == "#var_begin\n"):
- found_mark = True
- continue
- elif (current_line == "#var_end\n"):
- break
- if (found_mark):
- variables.append(line[line.find("#")+1:line.find("\n")])
- variables2 = str(variables)
- variables2 = variables2.replace("'",'')
- return variables,variables2
- def _insert_checks(self):
- variable_names,variables = self._get_vars()
- header_code1 = "variable_names = {}\n".format(variable_names)
- header_code2 = """
- def var_check():
- variables = {}
- next = str(input("")).lower()
- if (next == 'v'):
- print("Variables")
- print("---------")
- for var in len(variables)-1:
- print(variable_names[var]+": "+str(variables[var]))\n
- """.format(variables)
- code_to_insert = "var_check()\n"
- text = self._get_text()
- new_file = open(".debug_temp.py","w")
- new_file.write(header_code1)
- new_file.write(header_code2)
- count = 0
- for line in text:
- new_file.write(line)
- if (count < self.breakpoint):
- count += 1
- else:
- new_file.write(code_to_insert)
- return ".debug_temp.py"
- def _get_text(self):
- return_text = []
- code = open(self.file_name,"r")
- for line in code:
- return_text.append(line)
- return return_text
- def process(self):
- return self._insert_checks()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement