rebeccacc

SOR-CORRO

Apr 11th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. MAX_BYTES = 65535
  2. import tkinter
  3. from tkinter import *
  4. import argparse
  5. import socket
  6. dic = {"one":"um", "two": "dois"}
  7. def add(ping, pport):
  8. dic[ping] = pport
  9.  
  10. def server(port):
  11. sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  12. sock.bind(('127.0.0.1', port))
  13. print('Listening at {}'.format(sock.getsockname()))
  14. while True:
  15. a, ad = sock.recvfrom(MAX_BYTES)
  16. a = a.decode("utf-8")
  17. print(a)
  18. if a == "pesquisa":
  19. req, add = sock.recvfrom(MAX_BYTES)
  20. f = req.decode("utf-8")
  21. f = str(f).strip().lower()
  22. print(f)
  23. if f in dic:
  24. env = dic.get(f)
  25. b = env.encode('utf-8')
  26. sock.sendto(b, add)
  27. else:
  28. err = 'A PALAVRA NAO ESTA CONTIDA NO DICIONARIO'
  29. b = err.encode('utf-8')
  30. sock.sendto(b, add)
  31. elif a == "lista":
  32. env = str(dic.items())
  33. env = env.encode('utf-8')
  34. sock.sendto(env, ad)
  35. elif a == "adc":
  36. rig, add = sock.recvfrom(MAX_BYTES)
  37. rig = rig.decode('utf-8')
  38. rig = str(rig)
  39. rpt, add = sock.recvfrom(MAX_BYTES)
  40. rpt = rpt.decode('utf-8')
  41. rpt = str(rpt)
  42. add(rpt, rig)
  43. envs = str(dic.items())
  44. envs = envs.encode('utf-8')
  45. sock.sendto(envs, ad)
  46.  
  47.  
  48. def client(port):
  49. sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  50.  
  51. def pesquisa():
  52. verif = "pesquisa"
  53. verif = verif.encode("utf-8")
  54. sock.sendto(verif, ('127.0.0.1', port))
  55.  
  56. key = str(entrada.get()).strip()
  57. key = key.encode("utf-8")
  58. sock.sendto(key, ('127.0.0.1', port))
  59.  
  60. r, ad = sock.recvfrom(MAX_BYTES)
  61. lblmostra["text"] = "%s" %r.decode("utf-8")
  62.  
  63. def lista():
  64. verif = "lista"
  65. verif = verif.encode("utf-8")
  66. sock.sendto(verif, ('127.0.0.1', port))
  67.  
  68. jlista = Tk()
  69. r, add = sock.recvfrom(MAX_BYTES)
  70. lblista = Label(jlista, text="%s" %r.decode("utf-8"))
  71. lblista.place(x="50", y="50")
  72. jlista.mainloop()
  73.  
  74. def adc():
  75. verif = "adc"
  76. verif = verif.encode("utf-8")
  77. sock.sendto(verif, ('127.0.0.1', port))
  78.  
  79. def ok():
  80. r = str(entig.get()).strip().lower()
  81. print(r)
  82. r = r.encode("utf-8")
  83. sock.sendto(r, ('127.0.0.1', port))
  84. s = str(entpt.get()).strip().lower()
  85. print(s)
  86. s = s.encode("utf-8")
  87. sock.sendto(s, ('127.0.0.1', port))
  88. v, ad = sock.recvfrom(MAX_BYTES)
  89. v = v.decode('utf-8')
  90. lbit["text"] = "%s" % v
  91.  
  92. jadc = Tk()
  93. lbpt = Label(jadc, text="Insira a palavra em portugues:")
  94. lbpt.place(x="50", y="50")
  95. entpt = Entry(jadc, text="", width="25")
  96. entpt.place(x="50", y="80")
  97. lbig = Label(jadc, text="Insira a palavra em inglês:")
  98. lbig.place(x="50", y="110")
  99. entig = Entry(jadc, text="", width="25")
  100. entig.place(x="50", y="140")
  101. btnvai = Button(jadc, text="ADICIONA", width=10, command=ok)
  102. btnvai.place(x="80", y="170")
  103. lbit = Label(jadc, text="")
  104. lbit.place(x="50", y="200")
  105. jadc.mainloop()
  106.  
  107.  
  108. def sobre():
  109. jsobre = Tk()
  110. lbsobre = Label(jsobre, text=" Dicionario Inglês - Português \n "
  111. "Autores: Anderson Luis e Rebecca Câmara")
  112. lbsobre.place(x="50", y="50")
  113. jsobre.mainloop()
  114.  
  115. janela = Tk() # ciração da janela da interface grafica
  116. janela.title("SUPORTE AO USUARIO") # nome da janela
  117. janela.geometry("550x367+200+200") # dimensões da janela
  118.  
  119. foto = PhotoImage(file="bg1.png") # importação de uma imagem para background
  120. lblbg = Label(janela, image=foto) # definindo o background
  121. lblbg.place(x="0", y="0")
  122.  
  123.  
  124. entrada = Entry()
  125. entrada.place(x="200", y="180")
  126. btnPesquisa = Button(janela, text="PESQUISAR", width=10, bg="white", fg="black", command=pesquisa)
  127. btnPesquisa.place(x="350", y="178")
  128. lblmostra = Label(janela, text="", bg="white", fg="black")
  129. lblmostra.place(x="200", y="220")
  130. btnLista = Button(janela, text="LISTAR", width=10, height=1, bg="gray", fg="black", command=lista)
  131. btnLista.place(x="0", y="0")
  132. btnAdc = Button(janela, text="ADICIONAR", width=10, height=1, bg="gray", fg="black", command=adc)
  133. btnAdc.place(x="80", y="0")
  134. btnSobre = Button(janela, text="SOBRE", width=10, height=1, bg="gray", fg="black", command=sobre)
  135. btnSobre.place(x="160", y="0")
  136.  
  137. janela.mainloop()
  138.  
  139.  
  140.  
  141. if __name__ == '__main__':
  142. choices = {'client': client, 'server': server}
  143. parser = argparse.ArgumentParser(description="Send/receive UDP locally")
  144. parser.add_argument('role', choices=choices, help='which role to play')
  145. parser.add_argument('-p', metavar='PORT', type=int, default=1060,
  146. help='UDP port (default 1060)')
  147. args = parser.parse_args()
  148. function = choices[args.role]
  149. function(args.p)
Advertisement
Add Comment
Please, Sign In to add comment