__author__ = 'Nekhamchin Anatoly'
# Задача-1:
# Напишите небольшую консольную утилиту,
# позволяющую работать с папками текущей директории.
# Утилита должна иметь меню выбора действия, в котором будут пункты:
# 1. Перейти в папку
# 2. Просмотреть содержимое текущей папки
# 3. Удалить папку
# 4. Создать папку
# При выборе пунктов 1, 3, 4 программа запрашивает название папки
# и выводит результат действия: "Успешно создано/удалено/перешел",
# "Невозможно создать/удалить/перейти"

# Для решения данной задачи используйте алгоритмы из задания easy,
# оформленные в виде соответствующих функций,
# и импортированные в данный файл из easy.py


import fileman


actions = (
    ("cd", "перейти в директорию", "введите имя папки", "перешел", fileman.chdir),
    ("ls ", "список файлов в директории", "введите имя папки", None, fileman.lsdir),
    ("md ", "создать директорию", "введите имя папки", "создан", fileman.make_dir),
    ("rd", "удалить директорию", "введите имя папки", "удален", fileman.remove_dir),
    ("exit", "выйти", None, None, lambda: exit(0)),
)


if __name__ == '__main__':

    while True:
        for i, k in enumerate(actions, start=1):
            print("> ", i, ':', k[0], '-', k[1])
        try:
            action = actions[int(input("выберите действие >")) - 1]
        except ValueError:
            print("ошибка, попробуйте еще раз")
            continue

        if action[2] is not None:
            args = [input(f"{action[2]} >")]
        else:
            args = []

        # вызываем комманду, которую указал пользователь
        msg = fileman.invoke_command(action[-1], *args)
        if msg is not None:
            print(msg)
        elif action[-2] is not None:
            print(f"Успешно {action[-2]}")
