summaryrefslogtreecommitdiff
path: root/domestic/utility/program_setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'domestic/utility/program_setup.py')
-rw-r--r--domestic/utility/program_setup.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/domestic/utility/program_setup.py b/domestic/utility/program_setup.py
new file mode 100644
index 0000000..d14a6df
--- /dev/null
+++ b/domestic/utility/program_setup.py
@@ -0,0 +1,38 @@
+import threading
+import argparse
+
+from domestic.utility.get_io_channels import *
+from domestic.modules.socket_handler import *
+from domestic.utility.status_message import *
+from domestic.utility.text_to_ascii import *
+from domestic.session.session_queue import *
+from domestic.utility.write_error import *
+from domestic.global_state import *
+from domestic.shell.server import *
+
+
+def program_setup():
+ parser = argparse.ArgumentParser(description=state['description'])
+ parser.add_argument('-ip', '--ipv4', default='localhost', help='IP of host.')
+ parser.add_argument('-p', '--port', type=int, default=1200, help='Port of host.')
+ args = parser.parse_args()
+
+ try:
+ get_io_channels()
+ threading.Thread(target=listening, args=(args.ipv4, str(args.port), False), daemon=True).start()
+ for index, module in enumerate([*state['sockets']['modules']]):
+ bind_socket(args.ipv4, str(args.port + (index + 1)), module, False)
+ except Exception as err:
+ write_error(err)
+ status_message('Socket binding error, please verify IP / port argument', 'danger', {'end': True})
+ raise Exception('Argument parsing error')
+
+ threading.Thread(target=session_queue, daemon=True).start()
+
+ status_message(text_to_ascii(state['name']), 'pure', {'end': True})
+ print()
+ status_message(state['description'], 'pure', {'end': True})
+ print()
+ status_message(state['author'], 'pure', {'end': True})
+ print()
+ status_message(None, 'program') \ No newline at end of file