diff --git a/mm.py b/mm.py index b23391e..1768b8a 100644 --- a/mm.py +++ b/mm.py @@ -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() diff --git a/pages/cloud/Strato3.json b/pages/cloud/Strato3.json deleted file mode 100644 index 8351b28..0000000 --- a/pages/cloud/Strato3.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "Strato3" -} \ No newline at end of file diff --git a/pages/cloud/strato1.json b/pages/cloud/strato1.json new file mode 100644 index 0000000..fdac284 --- /dev/null +++ b/pages/cloud/strato1.json @@ -0,0 +1,3 @@ +{ + "name": "strato1" +} \ No newline at end of file diff --git a/pages/cloud/strato2.json b/pages/cloud/strato2.json new file mode 100644 index 0000000..cf954e7 --- /dev/null +++ b/pages/cloud/strato2.json @@ -0,0 +1,3 @@ +{ + "name": "strato2" +} \ No newline at end of file diff --git a/pages/cloud/strato3.json b/pages/cloud/strato3.json new file mode 100644 index 0000000..f61b9c5 --- /dev/null +++ b/pages/cloud/strato3.json @@ -0,0 +1,3 @@ +{ + "name": "strato3" +} \ No newline at end of file diff --git a/pages/cloud/strato4.json b/pages/cloud/strato4.json new file mode 100644 index 0000000..2530a6b --- /dev/null +++ b/pages/cloud/strato4.json @@ -0,0 +1,3 @@ +{ + "name": "strato4" +} \ No newline at end of file diff --git a/pages/cloud/strato5.json b/pages/cloud/strato5.json new file mode 100644 index 0000000..703f408 --- /dev/null +++ b/pages/cloud/strato5.json @@ -0,0 +1,3 @@ +{ + "name": "strato5" +} \ No newline at end of file diff --git a/pages/cloud/strato6.json b/pages/cloud/strato6.json new file mode 100644 index 0000000..a22fe76 --- /dev/null +++ b/pages/cloud/strato6.json @@ -0,0 +1,3 @@ +{ + "name": "strato6" +} \ No newline at end of file diff --git a/pages/cloud/test.json b/pages/cloud/test.json deleted file mode 100644 index 19db9a1..0000000 --- a/pages/cloud/test.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "test" -} \ No newline at end of file diff --git a/pages/local/fhain1.json b/pages/local/fhain1.json new file mode 100644 index 0000000..7835fcb --- /dev/null +++ b/pages/local/fhain1.json @@ -0,0 +1,3 @@ +{ + "name": "fhain1" +} \ No newline at end of file diff --git a/pages/local/onpremdmz123.json b/pages/local/onpremdmz123.json deleted file mode 100644 index b3511b9..0000000 --- a/pages/local/onpremdmz123.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "onpremdmz123", - "ipv4": "192.168.178.121" -} \ No newline at end of file diff --git a/pages/local/pi1.json b/pages/local/pi1.json new file mode 100644 index 0000000..288cf9d --- /dev/null +++ b/pages/local/pi1.json @@ -0,0 +1,3 @@ +{ + "name": "pi1" +} \ No newline at end of file diff --git a/pages/local/pi2.json b/pages/local/pi2.json new file mode 100644 index 0000000..87b211b --- /dev/null +++ b/pages/local/pi2.json @@ -0,0 +1,3 @@ +{ + "name": "pi2" +} \ No newline at end of file diff --git a/pages/local/pi3.json b/pages/local/pi3.json deleted file mode 100644 index b42dad0..0000000 --- a/pages/local/pi3.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "pi3", - "os": "Alpine-Linux" -} \ No newline at end of file diff --git a/pages/machine.json b/pages/machine.json new file mode 100644 index 0000000..ebdb996 --- /dev/null +++ b/pages/machine.json @@ -0,0 +1,3 @@ +{ + "name": "machine" +} \ No newline at end of file diff --git a/pages/machine1.json b/pages/machine1.json deleted file mode 100644 index 3ddd6d1..0000000 --- a/pages/machine1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "machine1", - "ipv4": "192.168.178.3", - "ipv6": "fe80::ef13:270b:7cb6:d728", - "os": "Automation and Testserver" -} \ No newline at end of file