Delete CLRadio-Sender.py
This commit is contained in:
@@ -1,126 +0,0 @@
|
|||||||
import socket
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
# ----- KNOWN CONNECTION FILE READ/WRITE/LIST/CLEAR PACKAGE ----- #
|
|
||||||
|
|
||||||
# Read Specific Line Package
|
|
||||||
def read_specific_line(filename, line_number): # index (0 is first)
|
|
||||||
with open(filename, 'r') as file:
|
|
||||||
for index, line in enumerate(file):
|
|
||||||
if index == line_number:
|
|
||||||
current_line = line.split() # Splits and removes nick
|
|
||||||
return current_line[1]
|
|
||||||
return None
|
|
||||||
|
|
||||||
def known_connection_file(mode, nick, ip_addr, no_of_ip_chosen): # use normal numbers e.g. 1 for first for no_of_ip_chosen
|
|
||||||
file_path = Path("known_connections.txt")
|
|
||||||
|
|
||||||
if not file_path.exists():
|
|
||||||
print(f"Known connections file not found. Creating...", end = " ")
|
|
||||||
# Create if not exist
|
|
||||||
with open(file_path, 'w') as f:
|
|
||||||
f.write("")
|
|
||||||
print(f"Done.")
|
|
||||||
|
|
||||||
if file_path.exists(): # If file exists:
|
|
||||||
|
|
||||||
# ----- READ MODE ----- #
|
|
||||||
if mode == "read": # Read out all the lines
|
|
||||||
with open('known_connections.txt', 'r') as f:
|
|
||||||
for line in f:
|
|
||||||
print(f"{line}", end = "")
|
|
||||||
|
|
||||||
# ----- SELECT MODE ----- #
|
|
||||||
elif mode == "select":
|
|
||||||
# Find the "no_of_ip_chosen"th line and return the ip address
|
|
||||||
select_result = read_specific_line("known_connections.txt", no_of_ip_chosen - 1)
|
|
||||||
if select_result == None:
|
|
||||||
print("Error: Line does not exist")
|
|
||||||
else:
|
|
||||||
return select_result
|
|
||||||
|
|
||||||
# ----- WRITE MODE ----- #
|
|
||||||
elif mode == "write":
|
|
||||||
with open('known_connections.txt', 'a') as f:
|
|
||||||
f.writelines(f"{nick}: {ip_addr}\n")
|
|
||||||
print("Writing completed.")
|
|
||||||
|
|
||||||
# ----- CLEAR MODE ----- #
|
|
||||||
elif mode == "clear":
|
|
||||||
with open('known_connections.txt', 'w') as f:
|
|
||||||
f.writelines("")
|
|
||||||
print("File cleared.")
|
|
||||||
else:
|
|
||||||
print("Error: Invalid mode.")
|
|
||||||
|
|
||||||
# ---------- PORT SELECTION ---------- #
|
|
||||||
def port_selection():
|
|
||||||
print("=" * 80)
|
|
||||||
print("CLRadio Sender Version A-1 | by P7MJ")
|
|
||||||
print("-" * 80)
|
|
||||||
print("[1] Use/Edit saved ports")
|
|
||||||
print("[2] Specify port")
|
|
||||||
user_port_choice = input(" > ")
|
|
||||||
|
|
||||||
# ---------- Use or edit saved ports ---------- #
|
|
||||||
if user_port_choice == "1":
|
|
||||||
print("Current Saved Profiles:")
|
|
||||||
known_connection_file("read", None, None, None)
|
|
||||||
print("\n[1] Write new profile entry")
|
|
||||||
print("[2] Select a profile")
|
|
||||||
print("[3] Clear all profiles (IRREVERSIBLE, WILL ANNIHILATE MASSDEBATER67'S BRAIN)")
|
|
||||||
profile_user_choice = input(" > ")
|
|
||||||
|
|
||||||
# ----- Write new profile entry ----- #
|
|
||||||
if profile_user_choice == "1":
|
|
||||||
profile_nick = input("Profile Nick > ")
|
|
||||||
profile_ip = input("Profile IP > ")
|
|
||||||
known_connection_file("write", profile_nick, profile_ip, None)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
# ----- Select a profile by number ----- #
|
|
||||||
elif profile_user_choice == "2":
|
|
||||||
selection = input("Select by number > ")
|
|
||||||
if selection.isdigit():
|
|
||||||
return known_connection_file("select", None, None, int(selection))
|
|
||||||
|
|
||||||
# ----- Clear profiles ------ #
|
|
||||||
elif profile_user_choice == "3":
|
|
||||||
known_connection_file("clear", None, None, None)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
# ----------
|
|
||||||
elif user_port_choice == "2":
|
|
||||||
custom_port = input("Insert custom port > ")
|
|
||||||
return custom_port
|
|
||||||
else:
|
|
||||||
print("Error: You need mental help")
|
|
||||||
|
|
||||||
def run_client():
|
|
||||||
while True:
|
|
||||||
while True:
|
|
||||||
port_selection_outcome = port_selection()
|
|
||||||
if port_selection_outcome == 0:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
break
|
|
||||||
# REPLACE WITH YOUR SERVER'S LAN IP ADDRESS
|
|
||||||
host = port_selection_outcome
|
|
||||||
port = 443
|
|
||||||
|
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
||||||
s.connect((host, port))
|
|
||||||
|
|
||||||
print(f"Server initiated. Sending to: {host}. Enter \"exit\" to exit.")
|
|
||||||
message = input(" > ")
|
|
||||||
while message != 'exit':
|
|
||||||
s.send(message.encode())
|
|
||||||
# Optional: receive a response
|
|
||||||
# data = s.recv(1024).decode()
|
|
||||||
# print(f"Received from server: {data}")
|
|
||||||
message = input(" > ")
|
|
||||||
s.close()
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
run_client()
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user