2025-09-27 20:53:07 +02:00
|
|
|
import argparse
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
from modules.refit_logger import logger
|
2025-09-28 13:51:53 +02:00
|
|
|
from modules.refit_create import Refit_Create
|
2025-09-27 20:53:07 +02:00
|
|
|
|
|
|
|
|
# Setting Global Variables
|
2025-09-28 14:00:45 +02:00
|
|
|
REFIT_VERSION = "Refit Beta 0.1.0"
|
2025-09-27 20:53:07 +02:00
|
|
|
|
|
|
|
|
# ---------------------------ARGPARSE START---------------------------
|
|
|
|
|
# Main Parser
|
|
|
|
|
parser = argparse.ArgumentParser(
|
|
|
|
|
prog="Refit",
|
|
|
|
|
description="This is a file and directory manipulation tool.\
|
|
|
|
|
it can create, move and delete files and directories as well as \
|
|
|
|
|
renaming them",
|
|
|
|
|
epilog=REFIT_VERSION,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Main Parser Arguments
|
|
|
|
|
|
|
|
|
|
# Create Parser
|
|
|
|
|
subparser = parser.add_subparsers(
|
|
|
|
|
title="Commands",
|
|
|
|
|
dest="create",
|
|
|
|
|
required=False,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Create Parser Arguments
|
|
|
|
|
create_parser = subparser.add_parser(
|
|
|
|
|
"create",
|
|
|
|
|
help="creates a new file/folder",
|
|
|
|
|
)
|
|
|
|
|
create_parser.add_argument("-n", type=int, help="number of items")
|
|
|
|
|
create_parser.add_argument("-i", "--input", help="input file")
|
2025-09-28 13:51:53 +02:00
|
|
|
create_parser.add_argument(
|
|
|
|
|
"--name",
|
|
|
|
|
nargs="*",
|
|
|
|
|
help="the name of the folder you want to create\n Default: directory",
|
|
|
|
|
)
|
|
|
|
|
create_parser.set_defaults(command_class=Refit_Create)
|
2025-09-27 20:53:07 +02:00
|
|
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
# ---------------------------ARGPARSE END-----------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Dispatcher
|
2025-09-28 13:51:53 +02:00
|
|
|
# determines what code gets addressed based of the users choosen flags.
|
|
|
|
|
if hasattr(args, "command_class"):
|
2025-09-27 20:53:07 +02:00
|
|
|
logger.debug("In hasattr()")
|
2025-09-28 13:51:53 +02:00
|
|
|
Refit_Create = args.command_class
|
|
|
|
|
create_command_instance = Refit_Create(args)
|
|
|
|
|
create_command_instance()
|
2025-09-27 20:53:07 +02:00
|
|
|
else:
|
|
|
|
|
parser.print_help()
|
|
|
|
|
logger.info("No input, exiting with error:1")
|
|
|
|
|
sys.exit(1)
|