Пример #1
0
def mkdir(diretorio):
    if diretorio is None:
        print('mkdir precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_diretorio = pega_dados(diretorio)
    except FileNotFoundError:
        return

    if dados.tem(nome_diretorio):
        print('Já existe este diretório')
        return

    # É necessário o índice inicial ser alocado aqui, porque esse indice vai ser usado tanto como entrada no diretório
    # correspondente quanto como primeiro índice do bloco do arquivo copiado.
    index = aloca()

    # Adicionando o índice do primeiro bloco da sequencia do novo arquivo como entrada do diretório destino
    dados.add_entry(nome_diretorio, index)
    dados.save(unidade)

    # Criando um diretorio vazio com o indice adicionado na entrada do outro diretório
    dados = Dados(bitmap, fat, index)
    dados.mkdir(nome_diretorio)
    dados.save(unidade)

    # Em cada operação devemos salvar o estado dos metadados
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #2
0
def mkdir(diretorio):
    if diretorio is None:
        print('mkdir precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_diretorio = pega_dados(diretorio)
    except FileNotFoundError:
        return

    if dados.tem(nome_diretorio):
        print('Já existe este diretório')
        return

    # É necessário o índice inicial ser alocado aqui, porque esse indice vai ser usado tanto como entrada no diretório
    # correspondente quanto como primeiro índice do bloco do arquivo copiado.
    index = aloca()

    # Adicionando o índice do primeiro bloco da sequencia do novo arquivo como entrada do diretório destino
    dados.add_entry(nome_diretorio, index)
    dados.save(unidade)

    # Criando um diretorio vazio com o indice adicionado na entrada do outro diretório
    dados = Dados(bitmap, fat, index)
    dados.mkdir(nome_diretorio)
    dados.save(unidade)

    # Em cada operação devemos salvar o estado dos metadados
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #3
0
def cat(arquivo):
    if arquivo is None:
        print('cat precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_arquivo = pega_dados(arquivo)
    except FileNotFoundError:
        return
    if dados.tem(nome_arquivo):
        index = dados.get_entry(nome_arquivo)
        dados = Dados(bitmap, fat, index)
        dados.load(unidade)
        print(dados.get_dado())
        dados.save(unidade)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
    pass
Пример #4
0
def cat(arquivo):
    if arquivo is None:
        print('cat precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_arquivo = pega_dados(arquivo)
    except FileNotFoundError:
        return
    if dados.tem(nome_arquivo):
        index = dados.get_entry(nome_arquivo)
        dados = Dados(bitmap, fat, index)
        dados.load(unidade)
        print(dados.get_dado())
        dados.save(unidade)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
    pass
Пример #5
0
def touch(arquivo):
    if arquivo is None:
        print('touch precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_arquivo = pega_dados(arquivo)
    except FileNotFoundError:
        return
    if dados.tem(nome_arquivo):
        index = dados.get_entry(nome_arquivo)
        dados = Dados(bitmap, fat, index)
        dados.load(unidade)
        if dados.is_dir():
            print('É um diretório!')
            return
        dados.get_dado()  # com o get_dado eu estou atualizando o instante de acesso
        dados.save(unidade)
    else:
        index = aloca()
        dados.add_entry(nome_arquivo, index)
        dados.save(unidade)
        dados = Dados(bitmap, fat, index)
        dados.set(nome_arquivo, '')
        dados.save(unidade)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
    pass
Пример #6
0
def touch(arquivo):
    if arquivo is None:
        print('touch precisa de um argumento')
        return
    try:
        dados, caminho_destino, nome_arquivo = pega_dados(arquivo)
    except FileNotFoundError:
        return
    if dados.tem(nome_arquivo):
        index = dados.get_entry(nome_arquivo)
        dados = Dados(bitmap, fat, index)
        dados.load(unidade)
        if dados.is_dir():
            print('É um diretório!')
            return
        dados.get_dado(
        )  # com o get_dado eu estou atualizando o instante de acesso
        dados.save(unidade)
    else:
        index = aloca()
        dados.add_entry(nome_arquivo, index)
        dados.save(unidade)
        dados = Dados(bitmap, fat, index)
        dados.set(nome_arquivo, '')
        dados.save(unidade)
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
    pass
Пример #7
0
def cp(origem, destino):
    if origem is None:
        print('origem faltando')
        return
    if destino is None:
        print('destino faltando')
        return
    try:
        dados, caminho_destino, nome_destino = pega_dados(destino)
    except FileNotFoundError:
        return

    if nome_destino is None:
        _, nome_destino = parse_path(origem)

    if dados.tem(nome_destino):
        print('Este Arquivo já existe')
        return

    # É necessário o índice inicial ser alocado aqui, porque esse indice vai ser usado tanto como entrada no diretório
    # correspondente quanto como primeiro índice do bloco do arquivo copiado.
    index = aloca()

    # Adicionando o novo arquivo como entrada do diretório destino
    dados.add_entry(nome_destino, index)
    dados.save(unidade)

    # Criando um novo arquivo com o mesmo indice da entrada adicionado do diretório com os dados copiados do arquivo
    dados = Dados(bitmap, fat, index)
    file = open(origem)
    dados.set(nome_destino, file.read())
    file.close()
    dados.save(unidade)

    # Em cada operação devemos salvar o estado dos metadados
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)
Пример #8
0
def cp(origem, destino):
    if origem is None:
        print('origem faltando')
        return
    if destino is None:
        print('destino faltando')
        return
    try:
        dados, caminho_destino, nome_destino = pega_dados(destino)
    except FileNotFoundError:
        return

    if nome_destino is None:
        _, nome_destino = parse_path(origem)

    if dados.tem(nome_destino):
        print('Este Arquivo já existe')
        return

    # É necessário o índice inicial ser alocado aqui, porque esse indice vai ser usado tanto como entrada no diretório
    # correspondente quanto como primeiro índice do bloco do arquivo copiado.
    index = aloca()

    # Adicionando o novo arquivo como entrada do diretório destino
    dados.add_entry(nome_destino, index)
    dados.save(unidade)

    # Criando um novo arquivo com o mesmo indice da entrada adicionado do diretório com os dados copiados do arquivo
    dados = Dados(bitmap, fat, index)
    file = open(origem)
    dados.set(nome_destino, file.read())
    file.close()
    dados.save(unidade)

    # Em cada operação devemos salvar o estado dos metadados
    bitmap.save(unidade)
    fat.save(unidade)
    root.save(unidade)