def test_copy_home():
    home = Folder('home')
    working_dir = Folder('working_dir')
    working_dir = home
    request = 'cp home domek'.split()
    with pytest.raises(CannotCopyHomeError):
        cp(working_dir, request, home)
def test_copy_folder_to_another_folder_with_path():
    home = Folder('home')
    working_dir = Folder('working_dir')
    working_dir = home
    folder1 = Folder('folder1', home)
    folder2 = Folder("folder2", home)
    request = 'cp folder1 home/folder2 folder1_copy'.split()
    assert len(folder2.content) == 0
    cp(working_dir, request, home)
    assert len(folder2.content) == 1
    assert folder2.content[0].name == "folder1_copy"
def test_copy_file_to_working_dir():
    home = Folder('home')
    working_dir = Folder('working_dir')
    working_dir = home
    folder1 = Folder('folder1', home)
    File(folder1, 'file1', 'txt', 10)
    request = 'cp file1 file1_copy'.split()
    assert len(home.content) == 1
    cp(working_dir, request, home)
    assert len(home.content) == 2
    assert home.content[1].name == "file1_copy"
Esempio n. 4
0
File: repl.py Progetto: igebus/pypm
 def do_cp(self, args):
     'Usage: cp SOURCE_NODE DEST_NODE\n' \
     '   or: cp SOURCE_NODE... DEST_GROUP\n' \
     'Copies SOURCE_NODE to DEST_NODE or SOURCE_NODE(s) to DEST_GROUP\n'
     args = parse(args)
     args = [self.path + node_path if node_path[0] != '/' else node_path for node_path in args]
     if len(args) < 2:
         print('[-] Command cp require at least two arguments')
     else:
         result = commands.cp(args)
         print(result)
Esempio n. 5
0
def main():
    home = Folder('home')
    working_dir = Folder('working_dir')
    working_dir = home
    answer = True
    starting_msg = "File system is working. Type help if needed or exit to end program."
    print(starting_msg)
    while answer:
        try:
            path = get_path(working_dir, home)

            answer = input(path).split()

            if answer[0] == "cd":
                new_working_dir = cd(answer, working_dir, home)
                if new_working_dir:
                    working_dir = new_working_dir
                else:
                    print("Incorrect usage of: cd. Try again")
            elif answer[0] == 'mkdir':
                # make folder
                try:
                    Folder(answer[1], working_dir)
                except Exception:
                    print("Incorrect usage of: mkdir. Try again")
            elif answer[0] == 'mk':
                # make file
                try:
                    File(working_dir, answer[1], answer[2], answer[3])
                except Exception:
                    print("Incorrect usage of: mk. Try again")
            elif answer[0] == 'rm':
                # delete file or folder
                if len(answer) == 2:
                    to_be_deleted = working_dir.find(answer[1])
                    if to_be_deleted:
                        print(rm(to_be_deleted, working_dir, home))
                    else:
                        print(f"Error. {answer[1]} - Element does not exist")
                else:
                    print("Incorrect usage of: rm. Try again")
            elif answer[0] == 'ls':
                # print structure
                print(ls(working_dir, answer))
            elif answer[0] == 'cat':
                # print file/folder info
                print(cat(working_dir, answer[1]))
            elif answer[0] == 'size':
                # print folder size
                try:
                    size = working_dir.find(answer[1]).count_size_recursive()
                    print(f'Size: {size} kB')
                except AttributeError:
                    print("Incorrect usage of: size. Try again")
            elif answer[0] == 'wc':
                # count elements in folder
                try:
                    print(wc(working_dir, answer))
                except Exception:
                    print("Incorrect usage of: wc. Try again")
            elif answer[0] == 'pwd':
                print(working_dir.name)
            elif answer[0] == 'cp':
                try:
                    cp(working_dir, answer, home)
                except Exception:
                    print("Incorrect usage of: cp. Try again")
            elif answer[0] == 'mv':
                try:
                    mv(working_dir, answer, home)
                except Exception:
                    print("Incorrect usage of: mv. Try again")
            elif answer[0] == 'help':
                print(help())
            elif answer[0] == 'exit':
                # end program
                answer = False
            else:
                print("Command not found")
        except IndexError:
            print("No command was given. Try again.")
            main()