Eu não entendi muito bem o enunciado da opção 2 do mini-ep3. O script deve receber somente entradas do tipo A e transformar em PTR, ou ele pode receber entradas PTR que devam ser transformadas em A?
Olá Thiago,
Seu programa deve apenas receber um arquivo de zonas de DNS (uma série de entradas do tipo A basicamente) e devolver o DNS reverso (uma série de entradas do tipo PTR).
O contrário não é necessário. E na verdade impossível apenas com o arquivo de DNS reverso, pois nele você só tem a última parte do endereço IP
Respondi sua dúvida?
Respondeu sim! Muito obrigado!! = )
Posso supor que se o usuário entrar com arquivo vazio, ou um arquivo com "NS" faltando, o programa vai retornar um erro, por exemplo, IndexError?
Não vamos tentar quebrar o programa de vocês de propósito, mas seria legal vocês tratarem esses casos, até para vocês aprenderem a fazer tratamento de erros ;) .
Só para você ter uma ideia como esse tratamento de erros é fácil. Você deu o exemplo de um "IndexError", que provavelmente foi o erro que você teve ao tentar abrir um arquivo em branco (provavelmente então você está armazenando o resultado da entrada dentro de uma lista). Então você tem duas opções:
- Não tratar o erro, e deixar o usuário se perguntando "que diabos está acontecendo aqui?" depois que ele receber o stacktrace;
- Tratar o erro de forma simples, uma maneira seria desse jeito:
- import sys
- lista = carregar_arquivo()
- try:
- processar_dados(lista)
- except IndexError:
- sys.exit("Arquivo em branco!")
E com isso, você melhorou e muito a usabilidade do seu programa adicionando 3 linhas de código ;). Para tratar o caso do arquivo sem o NS, você poderia dar uma exceção, dar um raise Exceção dentro da função que processa os dados e tratar isso no mesmo try...except mostrado acima.
Ok. Eu já tratei dois casos. Agora vou fazer os testes para arquivos em branco. Obg! = )
a resposta seria um outro arquivo ou no shell mesmo?