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)
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)
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)
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)
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)