\section{\module{netrc} --- netrc file processing} \declaremodule{standard}{netrc} % Note the \protect needed for \file... ;-( \modulesynopsis{Loading of \protect\file{.netrc} files.} \moduleauthor{Eric S. Raymond}{esr@snark.thyrsus.com} \sectionauthor{Eric S. Raymond}{esr@snark.thyrsus.com} \versionadded{1.5.2} The \class{netrc} class parses and encapsulates the netrc file format used by the \UNIX{} \program{ftp} program and other FTP clients. \begin{classdesc}{netrc}{\optional{file}} A \class{netrc} instance or subclass instance encapsulates data from a netrc file. The initialization argument, if present, specifies the file to parse. If no argument is given, the file \file{.netrc} in the user's home directory will be read. Parse errors will raise \exception{NetrcParseError} with diagnostic information including the file name, line number, and terminating token. \end{classdesc} \begin{excdesc}{NetrcParseError} Exception raised by the \class{netrc} class when syntactical errors are encountered in source text. Instances of this exception provide three interesting attributes: \member{msg} is a textual explanation of the error, \member{filename} is the name of the source file, and \member{lineno} gives the line number on which the error was found. \end{excdesc} \subsection{netrc Objects \label{netrc-objects}} A \class{netrc} instance has the following methods: \begin{methoddesc}{authenticators}{host} Return a 3-tuple \code{(\var{login}, \var{account}, \var{password})} of authenticators for \var{host}. If the netrc file did not contain an entry for the given host, return the tuple associated with the `default' entry. If neither matching host nor default entry is available, return \code{None}. \end{methoddesc} \begin{methoddesc}{__repr__}{} Dump the class data as a string in the format of a netrc file. (This discards comments and may reorder the entries.) \end{methoddesc} Instances of \class{netrc} have public instance variables: \begin{memberdesc}{hosts} Dictionary mapping host names to \code{(\var{login}, \var{account}, \var{password})} tuples. The `default' entry, if any, is represented as a pseudo-host by that name. \end{memberdesc} \begin{memberdesc}{macros} Dictionary mapping macro names to string lists. \end{memberdesc}