Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.79 KB | None | 0 0
  1. import tkinter as tk
  2. from tkinter import messagebox
  3. import json
  4. from time import sleep
  5. import requests
  6.  
  7. ##use the source code as much as you like without removing this comment block
  8. ##              _                        
  9. ##             | |                      
  10. ##    _ __ ___ | |_ ______ _ _ __  _ __  
  11. ##   | '_ ` _ \| __|_  / _` | '_ \| '_ \
  12. ##   | | | | | | |_ / / (_| | | | | |_) |
  13. ##   |_| |_| |_|\__/___\__, |_| |_| .__/
  14. ##                      __/ |     | |    
  15. ##                     |___/      |_|
  16. ##
  17. ##mutaz.shamaileh2005@gmail.com
  18. def encode(message,pw):
  19.     return "".join([chr(ord(char)+ord(pw[i%len(pw)])) for i,char in enumerate(message)])
  20. def decode(message,pw):
  21.     return "".join([chr(ord(char)-ord(pw[i%len(pw)])) for i,char in enumerate(message)])
  22. ex=""
  23. fails=0
  24. root =tk.Tk()
  25. name=""
  26. room="1"
  27. pw="gnp"
  28. nameLabel=tk.Label(root,text ="name ")
  29. roomLabel=tk.Label(root,text ="room ")
  30. pwLabel=tk.Label(root,text ="password ")
  31. namePrev=tk.Label(root,text=name)
  32. roomPrev=tk.Label(root,text=room)
  33. nameBox=tk.Entry(root)
  34. roomBox=tk.Entry(root)
  35. pwBox=tk.Entry(root,show="*" )
  36. roomBox.insert(0,room)
  37. pwBox.insert(0,pw)
  38. messageList= tk.Listbox(root)
  39. messageBox=tk.Entry(root)
  40. def update_loop():
  41.     global fails
  42.     for mess in json.loads(requests.get(url="http://mtzgnp.pythonanywhere.com/get?room=%s" % room).text)[messageList.size()+fails:]:
  43.         try:
  44.             messageList.insert(tk.END,"%s : %s" % (mess["name"],decode(mess["message"],pw)))
  45.         except:
  46.             fails+=1
  47.     root.after(2000,update_loop)
  48. def send():
  49.     if name =="":
  50.         messagebox.showerror("error","please enter name")
  51.         return 1
  52.     elif messageBox.get() == "":
  53.         return 0
  54.     requests.get(url ="http://mtzgnp.pythonanywhere.com/post?room=%s&name=%s&message=%s" %(room,name,encode(messageBox.get(),pw)))
  55.     messageBox.delete(0,tk.END)
  56. def change():
  57.     global name
  58.     global room
  59.     global pw
  60.     if room !=roomBox.get() and roomBox.get() != "":
  61.         room=roomBox.get()
  62.         roomPrev["text"]=room
  63.     if name != nameBox.get():
  64.         name=nameBox.get()
  65.         namePrev["text"]=name
  66.     if pw  != pwBox.get():
  67.             messageList.delete(0,tk.END)
  68.             pw=pwBox.get()
  69. changeButton=tk.Button(root,text="change",command=change)
  70. sendButton=tk.Button(root,text="send",command=send)
  71. nameLabel.grid(row=0)
  72. nameBox.grid(row=0,column=1)
  73. namePrev.grid(row=0,column=2)
  74. roomLabel.grid(row=1)
  75. roomBox.grid(row=1,column=1)
  76. roomPrev.grid(row=1,column=2)
  77. pwLabel.grid(row=2)
  78. pwBox.grid(row=2,column=1)
  79. changeButton.grid(row=2,column=2)
  80. messageList.config(height=40,width=100)
  81. messageBox.config(width=50)
  82. messageList.grid(row=3,columnspan=7)
  83. messageBox.grid(row=4,columnspan=7,rowspan=7)
  84. sendButton.grid(row=4,column=5)
  85. update_loop()
  86. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement