# THIS FILE IS A PART OF VCStudio
# PYTHON 3
import sys
import subprocess

# This is our main file. And untill now there was no love given to it. So I
# will attemt to polish this file quite a bit. Because the code I see now is
# just ugly. Anyway here we go.

# We probably need the following modules.
from settings import settings
from settings import talk

# Before we launch anything let's troubleshoot the bastard
if not settings.read("VCStudio-is-good")\
or not settings.read("Python-is-good")\
or not settings.read("Language"):
    from troubleshooter import troubleshooter


# It's quite a good thing to use extensions for the software using arguments
# in the terminal. Stuff like -c console mode. Or other. So let's work on this

if len(sys.argv) > 1:
    command = sys.argv[1]
    
    # So here I gonna have the command so to speak.
    
    if command == "-t":
        # Trouble shooter. Why not.
        from troubleshooter import troubleshooter
    
    elif command == "-c":
        # Console mode. Why not.
        from project_manager import pm_console
        pm_console.run()
    
    elif command == "-ms":
        
        # This one is a bit harder. Because we need a project name.
        if len(sys.argv) > 2:
            projectname = sys.argv[2]
        else:
            projectname = input("Project Name: ")
        
        # Then will launch it. 
        subprocess.Popen(["python3", "network/multiuser_server.py", projectname])
    
    elif command == "-rm":
        # The read messages terminal app.
        from network import read_messages
    
    elif command == "-sm":
        # The read messages terminal app.
        from network import send_messages
    
    elif command == "-tc":
        # The read messages terminal app.
        from network import test_client
    
    else:
        
        # Well technically if they type --help or any other thing
        # it should give them a help page, right?
        
        print("VCStudio help page. For those of you, nerdy people.")
        print()
        print(" --help   Gives you this help page. I know obvious.")
        print(" -c       Console mode. Not all functions available.")
        print(" -t       Troubleshooter. Run Troubleshooter.")
        print(" -ms      Multiuser Server in terminal.")
        print(" -tc      Test Multiuser Client.")
        print(" -rm      Test Broadcast Reader.")
        print(" -sm      Test Broadcast Writer.")
        print()
        print()
    
    
else:
    from project_manager import pm_gtk
    pm_gtk.run()

# Yeah. Now it looks better.