danixfs/danix/main.py

59 lines
2.0 KiB
Python

import argparse, os
import app
from utils import is_root
from templates import Languanges
from db.models import Environment
if not is_root():
print("Please run this program with sudo!")
exit(0)
parser = argparse.ArgumentParser(prog="Danix", add_help=True)
usages = parser.add_argument_group("usages")
usages.add_argument("-l", "--list", action="store_true" , help="List all environments avaliable", required=False)
usages.add_argument("-S", "--start", help="Start system environment", required=False)
usages.add_argument("-s", "--stop", help="Stop system environment", required=False)
usages.add_argument("-r", "--rm", help="Remove system environment", required=False)
usages.add_argument("-n", "--navigate", help="Navigate inside the environment", required=False)
createenv = parser.add_argument_group("createenv")
createenv.add_argument("-o", "--option", choices=["clike", "java", "python", "ruby"], required=False)
#fullstack_package = parser.add_argument_group("WebStack", "")
#fullstack_package.add_argument("-d","--db", type=str, required=False)
#fullstack_package.add_argument("-w", "--webserver", type=str, required=False)
#fullstack_package.add_argument("-f", "--framework", type=str, required=False)
#fullstack_package.add_argument("-e", "--env_name", type=str, required=False)
args = parser.parse_args()
languanges_and_softwares = {
"clike" : Languanges.CLike(),
"java" : Languanges.Java(),
"python" : Languanges.Python(),
#"ruby" : Languanges.Ruby()
}
if args.option:
name = input("Please enter environment name: ")
languanges_and_softwares.get(args.option).install(name, args.option)
if args.navigate:
Environment.navigate(args.navigate)
if args.start:
Environment.start_environment(args.start)
if args.list:
Environment.list_environments()
if args.rm:
Environment.rm_environment(args.rm)
if args.stop:
Environment.stop_environment(args.stop)