Skip to content

Commit afa682a

Browse files
authored
Merge pull request #3 from CLSFramework/develop_scripts
Develop scripts
2 parents 0658cbf + b73b547 commit afa682a

File tree

10 files changed

+3160
-1
lines changed

10 files changed

+3160
-1
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.venv/
2+
scripts/proxy
3+
scripts/rcssserver

check_requirements.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
import pkg_resources
3+
import sys
4+
5+
def check_requirements(requirements_file='requirements.txt'):
6+
with open(requirements_file, 'r') as file:
7+
requirements = file.readlines()
8+
9+
for requirement in requirements:
10+
requirement = requirement.strip()
11+
try:
12+
pkg_resources.require(requirement)
13+
except pkg_resources.VersionConflict as e:
14+
print(f"WARNING: {str(e)}")
15+
except pkg_resources.DistributionNotFound as e:
16+
print(f"ERROR: {str(e)}")
17+
sys.exit(1)
18+
19+
if __name__ == "__main__":
20+
check_requirements()

scripts/download-proxy.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/sh
2+
3+
# check proxy directory exists, if exists, remove it
4+
if [ -d proxy ]; then
5+
echo "proxy directory exists, remove it"
6+
rm -rf proxy
7+
fi
8+
9+
mkdir proxy
10+
11+
cd proxy
12+
13+
# Check if curl exists
14+
if command -v curl >/dev/null 2>&1; then
15+
echo "curl is installed."
16+
else
17+
echo "curl is not installed. Please install it."
18+
exit 1
19+
fi
20+
21+
# Check if get exists
22+
if command -v wget >/dev/null 2>&1; then
23+
echo "wget is installed."
24+
else
25+
echo "wget is not installed. Please install it."
26+
exit 1
27+
fi
28+
29+
# download soccer simulation proxy
30+
wget $(curl -s "https://api.github.com/repos/clsframework/soccer-simulation-proxy/releases/latest" | grep -oP '"browser_download_url": "\K[^"]*' | grep "soccer-simulation-proxy.tar.gz")
31+
32+
tar -xvf soccer-simulation-proxy.tar.gz
33+
34+
mv soccer-simulation-proxy/* .
35+
36+
rm -rf soccer-simulation-proxy
37+
38+
rm soccer-simulation-proxy.tar.gz

scripts/download-rcssserver.sh

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/sh
2+
3+
# check rcssserver directory exists, if exists, remove it
4+
if [ -d rcssserver ]; then
5+
echo "rcssserver directory exists, remove it"
6+
rm -rf rcssserver
7+
fi
8+
9+
mkdir rcssserver
10+
11+
cd rcssserver
12+
13+
# Check if curl exists
14+
if command -v curl >/dev/null 2>&1; then
15+
echo "curl is installed."
16+
else
17+
echo "curl is not installed. Please install it."
18+
exit 1
19+
fi
20+
21+
# Check if get exists
22+
if command -v wget >/dev/null 2>&1; then
23+
echo "wget is installed."
24+
else
25+
echo "wget is not installed. Please install it."
26+
exit 1
27+
fi
28+
29+
# download soccer simulation server App Image
30+
wget $(curl -s https://api.github.com/repos/clsframework/rcssserver/releases/latest | grep -oP '"browser_download_url": "\K(.*rcssserver-x86_64-.*\.AppImage)' | head -n 1)
31+
32+
# check download is successful
33+
if [ ! -f *.AppImage ]; then
34+
echo "Download failed"
35+
exit 1
36+
fi
37+
38+
mv rcssserver-x86_64-*.AppImage rcssserver
39+
40+
chmod +x rcssserver

server.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from multiprocessing import Manager, Lock
77
import logging
88
import grpc
9+
import argparse
10+
911

1012
logging.basicConfig(level=logging.DEBUG)
1113

@@ -155,4 +157,7 @@ def serve(port):
155157

156158

157159
if __name__ == '__main__':
158-
serve(50051)
160+
parser = argparse.ArgumentParser(description='Run play maker server')
161+
parser.add_argument('-p', '--rpc-port', required=False, help='The port of the server', default=50051)
162+
args = parser.parse_args()
163+
serve(args.rpc_port)

service_pb2.py

Lines changed: 300 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)