change layout and populate pages
This commit is contained in:
@@ -44,8 +44,11 @@ def init_function() -> None:
|
||||
# |___|_|_|_|\_/|___|_| |___|__,|_|
|
||||
|
||||
|
||||
def page_path(hostname: str) -> str:
|
||||
return DIR_PATH + f"{hostname}.json"
|
||||
def page_path(hostname: str, group: str=None) -> str:
|
||||
if group and os.path.exists(DIR_PATH + group):
|
||||
return DIR_PATH + group + f"/{hostname}.json"
|
||||
else:
|
||||
return DIR_PATH + f"{hostname}.json"
|
||||
|
||||
# checks if the executed command needs a "name" argument
|
||||
def name_required() -> bool:
|
||||
@@ -76,6 +79,7 @@ def parse_args() -> dict:
|
||||
parser.add_argument("--ipv6", required=False)
|
||||
parser.add_argument("--os", required=False)
|
||||
parser.add_argument("--desc", required=False)
|
||||
parser.add_argument("--group", required=False)
|
||||
parser.add_argument("--force", required=False,
|
||||
action='store_true')
|
||||
|
||||
@@ -173,11 +177,12 @@ def add_page(args: dict):
|
||||
for k in KEY_ORDER:
|
||||
if k in args and args[k]:
|
||||
data[k] = args[k]
|
||||
|
||||
try:
|
||||
if os.path.exists(page_path(data["name"])) and not args["force"]:
|
||||
if os.path.exists(page_path(data["name"], args["group"])) and not args["force"]:
|
||||
print_error(f"Page {data['name']} already exists, use --force to overwrite.")
|
||||
exit()
|
||||
with open(page_path(data["name"]), "w") as fp:
|
||||
with open(page_path(data["name"], args["group"]), "w") as fp:
|
||||
json.dump(data, fp, indent=4)
|
||||
except FileNotFoundError:
|
||||
print_error("Page-Path corrupted, restart mm.")
|
||||
@@ -238,10 +243,10 @@ def list_pages():
|
||||
# List groups
|
||||
groups = get_groups()
|
||||
for group in groups:
|
||||
print(f"{bcolors.BOLD}{group}{bcolors.ENDC}")
|
||||
print(f"{bcolors.BOLD}--- {group} ---{bcolors.ENDC}")
|
||||
for dir_item, is_last in with_last(os.scandir(DIR_PATH + group)):
|
||||
prefix = "`--" if is_last else "|--"
|
||||
print(f"{bcolors.BOLD}{bcolors.BLUE}{prefix}+ {bcolors.ENDC}{dir_item.name[:-5]}")
|
||||
# prefix = "`--" if is_last else "|--"
|
||||
print(f"{bcolors.BOLD}{bcolors.BLUE}+ {bcolors.ENDC}{dir_item.name[:-5]}")
|
||||
except FileNotFoundError:
|
||||
print_error("Page-Path corrupted, restart mm.")
|
||||
|
||||
@@ -255,7 +260,7 @@ match args["action"]:
|
||||
case "rm": delete_item(args["name"])
|
||||
case "view": print_page(args["name"])
|
||||
case "ls": list_pages()
|
||||
case "test": print(get_groups())
|
||||
case "test": print(args)
|
||||
case _: print_welcome()
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"name": "Strato3"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato1"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato2"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato3"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato4"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato5"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "strato6"
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"name": "test"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "fhain1"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"name": "onpremdmz123",
|
||||
"ipv4": "192.168.178.121"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "pi1"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "pi2"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"name": "pi3",
|
||||
"os": "Alpine-Linux"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "machine"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "machine1",
|
||||
"ipv4": "192.168.178.3",
|
||||
"ipv6": "fe80::ef13:270b:7cb6:d728",
|
||||
"os": "Automation and Testserver"
|
||||
}
|
||||
Reference in New Issue
Block a user