14.3. "netrc" --- arquivo de processamento netrc
************************************************

**Código fonte:** Lib/netrc.py

======================================================================

A classe  "netrc" analisa e encapsula o formato do arquivo netrc usado
pelo programa Unix **ftp**  e outros clientes FTP.

class netrc.netrc([file])

   Uma instância ou subclasse de "netrc" encapsula os dados de um
   arquivo netrc. O argumento de inicialização, se presente,
   especifica o arquivo para ser analisado. Se o argumento não é dado,
   o arquivo ".netrc" no diretório inicial do usuário será lido. Os
   erros de análise serão lançados através de "NetrcParseError" com
   informações de diagnóstico incluindo o nome do arquivo, o número da
   linha, e o símbolo final. Se nenhum argumento é especificado em um
   sistema POSIX, a presença de senhas no arquivo ".netrc" irá gerar
   uma exceção "NetrcParseError" se o dono do arquivo ou permissões
   são inseguras (se o arquivo pertence a um usuário diferente do
   usuário que está executando o processo ou se o arquivo possui
   permissão de leitura e escrita para qualquer usuário). Isso
   implementa um comportamento seguro equivalente ao do ftp e outros
   programas que usam ".netrc".

   Alterado na versão 3.4: Adicionada a verificação de permissão
   POSIX.

exception netrc.NetrcParseError

   Exceção levantada pela classe "netrc" quando erros sintáticos são
   encontrados no texto de origem. As instâncias desta exceção
   fornecem três atributos interessantes: "msg" é uma explicação
   textual do erro, "filename" é o nome do arquivo-fonte e "lineno"
   fornece o número da linha na qual o erro foi encontrado.


14.3.1. Objetos netrc
=====================

Uma instância da classe "netrc" tem os seguintes métodos:

netrc.authenticators(host)

   Retorna uma 3-tuple "(login, account, password)" dos autenticadores
   do *host*. Se o arquivo netrc não contém uma entrada para o host
   dado, retorna a tupla associada com a entrada padrão. Se não houver
   nenhum host correpondente nem uma entrada padrão estiver
   disponível, retorna "None".

netrc.__repr__()

   Despeja os dados da classe como uma sequência no formato de um
   arquivo netrc. (Isso descarta os comentários e pode reordenar as
   entradas.)

Instâncias de "netrc" possuem variáveis de instância públicas:

netrc.hosts

   Dicionário mapeando nomes de host para tuplas "(login, conta,
   senha)". A entrada *default*, se houver, é representada como um
   pseudo-host por esse nome.

netrc.macros

   Dicionário mapeando nomes de macros para listas de strings.

Nota:

  As senhas são limitadas a um subconjunto do conjunto de caracteres
  ASCII. Todas as pontuações ASCII são permitidas nas senhas; no
  entanto, observe que caracteres em branco e não imprimíveis não são
  permitidos nas senhas. Essa é uma limitação da maneira como o
  arquivo .netrc é analisado e pode ser removido no futuro.
