def get_input(): if len(sys.argv) > 1: script = sys.argv[1] else: raise RuntimeError("Invalid number of arguments") logger.info("Received input {0}".format(script)) if os.path.exists(script): fp = open(script, "rb") content = fp.read() fp.close() else: raise RuntimeError("Invalid input - no such file") return content, script
def check(self): """ Check a script for a various number of validations """ temp_file_name = "temporary.py" temp_file_cname = "temporary.pyc" temp_file = open(temp_file_name, "wb") temp_file.write(self.script) temp_file.close() try: py_compile.compile(temp_file_name, doraise=True) except py_compile.PyCompileError: logger.info("Input invalid") return False if not os.path.isfile(temp_file_cname): logger.info("Input invalid") return False os.remove(temp_file_cname) os.remove(temp_file_name) logger.info("Input valid") return True