/
callScript.py
124 lines (99 loc) · 2.32 KB
/
callScript.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import sys
import os
import threading
import gameEngine
os.system("clear")
class RunGame(threading.Thread):
def __init__(self, directory):
super().__init__()
self.directory = directory
def run(self):
print("Name of game")
print(self.directory)
print("================")
allFiles = gameEngine.getAllFiles("games", self.directory)
all_files_size = allFiles.__len__()
if all_files_size == 0:
print("No games downloaded yet!")
else:
i = 0
for file in allFiles:
i += 1
print("{0} {1}".format(i, file))
while True:
try:
data, addr = server.sock.recvfrom(40)
server.ch.check_if_here(addr)
data = data.decode()
if data:
try:
mode = int(data)
except ValueError:
pass
else:
if 1 <= mode < all_files_size + 1:
break
else:
pass
except OSError:
sys.exit()
os.chdir(self.directory + "/games")
os.system("clear")
with open(allFiles[mode-1]) as python_file:
code = compile(python_file.read(), python_file, 'exec')
exec(code)
os.chdir(self.directory)
del sys.path[1]
while True:
try:
data, addr = server.sock.recvfrom(40)
server.ch.check_if_here(addr)
data = data.decode()
if data:
break
except OSError:
sys.exit()
os.system("clear")
class DownloadThread(threading.Thread):
def __init__(self, server):
super().__init__()
self.server = server
def run(self):
gameEngine.getAllGames(self.server)
server = gameEngine.server()
curr_directory = os.getcwd()
while True:
print("1. Download a game")
print("2. Play a game")
print("3. Exit")
while True:
try:
data, addr = server.sock.recvfrom(40)
server.ch.check_if_here(addr)
data = data.decode()
if data:
if data == "2":
mode = 2
break
if data == "1":
mode = 1
break
if data == "3":
mode = 3
break
except ValueError:
pass
except OSError:
sys.exit()
os.system("clear")
if mode == 1:
my_script = DownloadThread(server)
my_script.start()
my_script.join()
if mode == 2:
my_script = RunGame(curr_directory)
my_script.start()
my_script.join()
if mode == 3:
server.stop()
sys.exit()