Exemple #1
0
class Run:
    def __init__(self):
        self.file = File()
        self.file.file_menu()
        self.run = tk.Menu(menubar.toolbar, tearoff=False)
        self.run.add_command(label="Run", command=lambda: self.run_it())
        menubar.toolbar.add_cascade(label="Run", menu=self.run)
        self.binding_keys()

    def run_it(self):
        self.file.save_file()
        try:
            if self.file.f.name.endswith(".py"):
                subprocess.Popen(["python", self.file.f.name], shell=True)
            elif self.file.f.name.endswith(".js"):
                subprocess.Popen(["node", self.file.f.name], shell=True)
            elif self.file.f.name.endswith(".exs"):
                subprocess.Popen(["elixir", self.file.f.name], shell=True)
            else:
                toplevel = tk.Toplevel(w.root)
                toplevel.title("Warning")
                txt = tk.Text(toplevel)
                txt.insert("1.0", "File cannot run.")
                toplevel.geometry("215x50")
                toplevel.resizable(False, False)
                txt.config(state=tk.DISABLED)
                txt.pack()
        except AttributeError:
            return

    def binding_keys(self):
        w.root.bind_all("<F5>", lambda event: self.run_it())