Techpad

TEB Compiler

Apr 14th, 2021
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. import tkinter as tk
  2. from tkinter import filedialog as fd
  3. import base64
  4.  
  5. tk.Tk().withdraw()
  6.  
  7. with open(fd.askopenfilename(title="Select source code file", filetypes=[("Techpad Executable Python Files", ".tep"), ("Text Files", ".txt"), ("All Files", "*")]), "r") as f:
  8. code = f.read()
  9. with open(fd.askopenfilename(title="Select info file", filetypes=[("Info Files", ".info"), ("Text Files", ".txt"), ("All Files", "*")]), "r") as f:
  10. info = f.read()
  11. with open(fd.askopenfilename(title="Select icon file", filetypes=[("PNG Images", ".png"), ("All Files", "*")]), "rb") as f:
  12. icon = f.read()
  13.  
  14. print("Data Received")
  15. print("Compiling code...", end="")
  16. try:
  17. code_c = base64.b64encode(code.encode("ascii"))
  18. except UnicodeEncodeError:
  19. input("Failed to compile code: The code contains a non-ascii character. Please use unicode escape codes to use unicode characters.")
  20. sys.exit()
  21. print("Complete")
  22. print("Compiling info...", end="")
  23. try:
  24. info_c = base64.b64encode(info.encode("ascii"))
  25. except UnicodeEncodeError:
  26. input("Failed to compile info: The info contains a non-ascii character. Please use unicode escape codes to use unicode characters.")
  27. sys.exit()
  28. print("Complete")
  29. print("Formatting icon...", end="")
  30. try:
  31. icon_c = base64.b64encode(icon)
  32. except:
  33. input("Failed to format icon: The icon seems to not be in binary format.")
  34. sys.exit()
  35. print("Complete")
  36. print("Creating final executable...", end="")
  37. finalcode = f"TEBinicco(§IN){info_c.decode('ascii')}(§IC){icon_c.decode('ascii')}(§CO){code_c.decode('ascii')}(§EN)"
  38. print("Complete")
  39. with open(fd.asksaveasfilename(title="Save final executable", filetypes=[("Techpad Executable Binary Files", ".teb"), ("All Files", "*")], defaultextension=".teb"), "w") as f:
  40. f.write(finalcode)
  41. input("Compiling process finished with no errors")
Add Comment
Please, Sign In to add comment