| Removed PySimpleGUI from dependencies.

This commit is contained in:
NikkeDoy 2024-12-08 23:07:52 +02:00
parent 21d4262c1d
commit a5d28304c5
2 changed files with 18 additions and 18 deletions

30
main.py
View File

@ -20,44 +20,40 @@ def save_preferences():
def launch_exe(): def launch_exe():
# Check for valid server address (Currently only supports numerical addresses (not domains)) # Check for valid server address (Currently only supports numerical addresses (not domains))
if not validate_server_address(server_address_field.get()): if not validate_server_address(server_address_field.get()):
print("Invalid address \"" + server_address_field.get() + "\", please use a proper one...") print(f"Invalid address \"{server_address_field.get()}\", please use a proper one...")
server_address_field.delete(0, END) server_address_field.delete(0, END)
server_address_field.insert(0, userdata.default_server_address) server_address_field.insert(0, userdata.default_server_address)
return return
if not validate_username(username_field.get()): if not validate_username(username_field.get()):
print("Username \"" + username_field.get() + "\" is too long, please use a shorter one...") print(f"Username \"{username_field.get()}\" is too long, please use a shorter one...")
username_field.delete(0, END) username_field.delete(0, END)
username_field.insert(0, userdata.default_username) username_field.insert(0, userdata.default_username)
return return
print("IP Address: " + server_address_field.get()) print("IP Address: " + server_address_field.get())
print("Username: " + username_field.get()) print("Username: " + username_field.get())
subprocess.call( subprocess.call([
["./Battlefield 1942/Battlefield 1942/BF1942.exe","+game","FinnWars","+restart","1","+game","FinnWars","+joinServer",server_address_field.get()] "./Battlefield 1942/Battlefield 1942/BF1942.exe",
) "+game", "FinnWars",
root.quit "+restart", "1",
"+game", "FinnWars",
"+joinServer", server_address_field.get()
])
root.quit()
def validate_server_address(server_address): def validate_server_address(server_address):
ip_regex = r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$" ip_regex = r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"
port_regex = r"^\d+$"
try: try:
if ":" in server_address: if ":" in server_address:
ip, port = server_address.split(":") ip, port = server_address.split(":")
if not re.match(ip_regex, ip): if not re.match(ip_regex, ip):
return False return False
if not 1 <= int(port) <= 65535:
port = int(port)
if port < 1 or port > 65535:
return False return False
else: else:
ip = server_address if not re.match(ip_regex, server_address):
if not re.match(ip_regex, ip):
return False return False
return True return True
except ValueError: except ValueError:
return False return False
@ -77,7 +73,6 @@ root.resizable(False, False)
scaling = 1 scaling = 1
window_width = int(720*scaling) window_width = int(720*scaling)
window_height = int(360*scaling) window_height = int(360*scaling)
root.geometry(str(window_width) + "x" + str(window_height)) root.geometry(str(window_width) + "x" + str(window_height))
# Background image scaled correctly # Background image scaled correctly
@ -91,6 +86,7 @@ background_label.pack(fill=BOTH, expand = YES)
# Create the text fields # Create the text fields
font = ("arial", int(window_height/36)) font = ("arial", int(window_height/36))
box_width = int(window_width/24) box_width = int(window_width/24)
server_address_label = Label(root, text="Server Address:", font=font, fg="black", width=box_width) server_address_label = Label(root, text="Server Address:", font=font, fg="black", width=box_width)
server_address_field = Entry(root, font=font, width=box_width) server_address_field = Entry(root, font=font, width=box_width)
username_label = Label(root, text="Username:", font=font, fg="black", width=box_width) username_label = Label(root, text="Username:", font=font, fg="black", width=box_width)

View File

@ -1,7 +1,11 @@
altgraph==0.17.4
appdirs==1.4.4 appdirs==1.4.4
asyncio==3.4.3 asyncio==3.4.3
packaging==24.2
pillow==11.0.0 pillow==11.0.0
pyasn1==0.6.1 pyasn1==0.6.1
PySimpleGUI==5.0.7 pyinstaller==6.11.1
pyinstaller-hooks-contrib==2024.10
rsa==4.9 rsa==4.9
setuptools==75.6.0
tk==0.1.0 tk==0.1.0