Пример #1
0
def find(diretorio, arquivo):
    if diretorio is None or arquivo is None:
        print('find precisa de dois argumentos')
        return
    dados, caminho_destino, diretorio = pega_dados(diretorio)
    if diretorio is not None:
        if not dados.tem(diretorio):
            print('Diretório não encontrado')
            return
        index = dados.get_entry(diretorio)
        dados = Dados(bitmap, fat, index)
        dados.carrega_cabeçalho(unidade)
        if not dados.is_dir():
            print('Não é um diretório')
            return
        dados.load(unidade)
        find_recursive(dados, caminho_destino + [diretorio], arquivo)
    else:
        for nome_arquivo in dados.keys():
            index = dados.get_entry(nome_arquivo)
            a = Dados(bitmap, fat, index)
            a.carrega_cabeçalho(unidade)
            if a.is_dir():
                a.load(unidade)
                find_recursive(a, caminho_destino + [nome_arquivo], arquivo)
            else:
                if a.get_nome() == arquivo:
                    print(
                        '/' + '/'.join(caminho_destino) + '/' + arquivo if type(dados) is not Root else '/'.join(
                            caminho_destino) + '/' + arquivo)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #2
0
def find(diretorio, arquivo):
    if diretorio is None or arquivo is None:
        print('find precisa de dois argumentos')
        return
    dados, caminho_destino, diretorio = pega_dados(diretorio)
    if diretorio is not None:
        if not dados.tem(diretorio):
            print('Diretório não encontrado')
            return
        index = dados.get_entry(diretorio)
        dados = Dados(bitmap, fat, index)
        dados.carrega_cabeçalho(unidade)
        if not dados.is_dir():
            print('Não é um diretório')
            return
        dados.load(unidade)
        find_recursive(dados, caminho_destino + [diretorio], arquivo)
    else:
        for nome_arquivo in dados.keys():
            index = dados.get_entry(nome_arquivo)
            a = Dados(bitmap, fat, index)
            a.carrega_cabeçalho(unidade)
            if a.is_dir():
                a.load(unidade)
                find_recursive(a, caminho_destino + [nome_arquivo], arquivo)
            else:
                if a.get_nome() == arquivo:
                    print('/' + '/'.join(caminho_destino) + '/' +
                          arquivo if type(dados) is not Root else
                          '/'.join(caminho_destino) + '/' + arquivo)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #3
0
def rmdir_recursivo(index, caminho):
    dados = Dados(bitmap, fat, index)
    dados.carrega_cabeçalho(unidade)
    if dados.is_dir():
        dados.load(unidade)
        for arquivos in dados.keys():
            index = dados.get_entry(arquivos)
            rmdir_recursivo(index, caminho + [arquivos])
    print('/' + '/'.join(caminho) + '/' + dados.get_nome())
    while index != -1:
        bitmap.set_1(index)
        index = fat.get(index)
Пример #4
0
def rmdir_recursivo(index, caminho):
    dados = Dados(bitmap, fat, index)
    dados.carrega_cabeçalho(unidade)
    if dados.is_dir():
        dados.load(unidade)
        for arquivos in dados.keys():
            index = dados.get_entry(arquivos)
            rmdir_recursivo(index, caminho + [arquivos])
    print('/' + '/'.join(caminho) + '/' + dados.get_nome())
    while index != -1:
        bitmap.set_1(index)
        index = fat.get(index)
Пример #5
0
def rmdir(diretorio):
    if diretorio is None:
        print('rmdir precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_diretorio = pega_dados(diretorio)
    except FileNotFoundError:
        return
    if dados.tem(nome_diretorio):
        index = dados.get_entry(nome_diretorio)
        arquivo = Dados(bitmap, fat, index)
        arquivo.load(unidade)
        if not arquivo.is_dir():
            print('Não é diretório')
            return
        dados.del_entry(nome_diretorio)
        dados.save(unidade)
        for arquivos in arquivo.keys():
            index = arquivo.get_entry(arquivos)
            dado = Dados(bitmap, fat, index)
            dado.load(unidade)
            if dado.is_dir():
                rmdir_recursivo(index, caminho_destino + [nome_diretorio])
            else:
                while index != -1:
                    bitmap.set_1(index)
                    index = fat.get(index)
        print(nome_diretorio,
              '%s removido%s com sucesso' % ('foram', 's') if len(dados.keys())
              else '%s removido%s com sucesso' % ('foi', ''))
    else:
        print('Diretório %s não existe' % nome_diretorio)

    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #6
0
def rmdir(diretorio):
    if diretorio is None:
        print('rmdir precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_diretorio = pega_dados(diretorio)
    except FileNotFoundError:
        return
    if dados.tem(nome_diretorio):
        index = dados.get_entry(nome_diretorio)
        arquivo = Dados(bitmap, fat, index)
        arquivo.load(unidade)
        if not arquivo.is_dir():
            print('Não é diretório')
            return
        dados.del_entry(nome_diretorio)
        dados.save(unidade)
        for arquivos in arquivo.keys():
            index = arquivo.get_entry(arquivos)
            dado = Dados(bitmap, fat, index)
            dado.load(unidade)
            if dado.is_dir():
                rmdir_recursivo(index, caminho_destino + [nome_diretorio])
            else:
                while index != -1:
                    bitmap.set_1(index)
                    index = fat.get(index)
        print(
            nome_diretorio, '%s removido%s com sucesso' % ('foram', 's') if
            len(dados.keys()) else '%s removido%s com sucesso' % ('foi', ''))
    else:
        print('Diretório %s não existe' % nome_diretorio)

    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)