Guest User

Untitled

a guest
Jun 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. import sys
  2. import socket
  3. import random
  4.  
  5.  
  6. message = sys.argv[1].split(";")
  7.  
  8. print message
  9.  
  10.  
  11. def readFileToArray(tiedosto):
  12. taulukko = []
  13. fp = open(tiedosto,'r')
  14. for ans in fp:
  15. taulukko.append(ans.strip())
  16. fp.close()
  17. return taulukko
  18.  
  19. def rot13(string):
  20. rot13message = ''
  21. for letter in string:
  22. if (letter.isalpha() == True and ord(letter) < 109 and ord(letter) > 90):
  23. rot = ord(letter) + 13
  24. rot13message = rot13message + chr(rot)
  25. elif (letter.isalpha() == True and ord(letter) > 108):
  26. rot = ord(letter) - 13
  27. rot13message = rot13message + chr(rot)
  28. elif (letter.isalpha() == True and ord(letter) < 77):
  29. rot = ord(letter) + 13
  30. rot13message = rot13message + chr(rot)
  31. elif (letter.isalpha() == True and ord(letter) > 78):
  32. rot = ord(letter) - 13
  33. rot13message = rot13message + chr(rot)
  34. else:
  35. rot13message = rot13message + letter
  36. return rot13message
  37.  
  38.  
  39. answers = readFileToArray("answers.txt")
  40. knights = readFileToArray("knights.txt")
  41.  
  42. class Knight:
  43. def __init__(self,name,answers):
  44. self.name = name
  45. self.answers = answers
  46. def answer(self):
  47. return random.choice(answers)
  48.  
  49. knightMap = {}
  50. for name in knights:
  51. knightMap[name] = Knight(name, answers)
  52.  
  53.  
  54. """
  55. HOST = '' # Symbolic name meaning the local host
  56. PORT = 10002 # Arbitrary non-privileged port
  57. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  58. s.bind((HOST, PORT))
  59. s.listen(1)
  60. conn, addr = s.accept()
  61. print 'Connected by', addr
  62. while 1:
  63. data = conn.recv(1024)
  64. message = data.split(";")
  65. try:
  66. ritari = knightMap[message[4]]
  67. answer = ritari.answer()
  68. del knightMap[ritari.name]
  69. except KeyError:
  70. ritari = knightMap[random.choice(avaimet)]
  71. answer = ritari.answer()
  72. del knightMap[ritari.name]
  73.  
  74. if not data: break
  75. conn.send(data)
  76. conn.close()
  77. """
  78.  
  79. rot13dict = {"a" : "n", "b" : "o","c" : "p", "d" : "q", "e" : "r", "f" : "s", "g" : "t", "h" : "u", "i" : "v", "j" : "w", "k" : "x", "l" : "y", "m" :
  80. "z"}
  81.  
  82.  
  83. rot13(random.choice(answers))
  84.  
  85. """
  86. try:
  87. rot13message = rot13message + rot13dict[letter]
  88. except KeyError:
  89. rot13message = rot13message + letter
  90. return rot13message
  91. """
  92.  
  93. avaimet = knightMap.keys()
  94.  
  95. """
  96. arthur = knightMap["King Arthur"]
  97. arthur.answer()
  98. """
  99. """
  100. host = "localhost"
  101. port = 21567
  102. buf = 1024
  103. addr = (host,port)
  104.  
  105. # Create socket
  106. UDPSock = socket(AF_INET,SOCK_DGRAM)
  107.  
  108. def_msg = "===Enter message to send to server===";
  109. print "\n",def_msg
  110. host = "localhost"
  111. port = 21567
  112. buf = 1024
  113. addr = (host,port)
  114.  
  115. # Create socket
  116. UDPSock = socket(AF_INET,SOCK_DGRAM)
  117.  
  118. def_msg = "===Enter message to send to server===";
  119. print "\n",def_msg
  120.  
  121. # Send messages
  122. while (1):
  123. data = raw_input('>> ')
  124. if not data:
  125. break
  126. else:
  127. if(UDPSock.sendto(data,addr)):
  128. print "Sending message '",data,"'....."
  129.  
  130. # Close socket
  131. UDPSock.close()
  132.  
  133. """
Add Comment
Please, Sign In to add comment