1 | \section{\module{netrc} ---
|
---|
2 | netrc file processing}
|
---|
3 |
|
---|
4 | \declaremodule{standard}{netrc}
|
---|
5 | % Note the \protect needed for \file... ;-(
|
---|
6 | \modulesynopsis{Loading of \protect\file{.netrc} files.}
|
---|
7 | \moduleauthor{Eric S. Raymond}{esr@snark.thyrsus.com}
|
---|
8 | \sectionauthor{Eric S. Raymond}{esr@snark.thyrsus.com}
|
---|
9 |
|
---|
10 |
|
---|
11 | \versionadded{1.5.2}
|
---|
12 |
|
---|
13 | The \class{netrc} class parses and encapsulates the netrc file format
|
---|
14 | used by the \UNIX{} \program{ftp} program and other FTP clients.
|
---|
15 |
|
---|
16 | \begin{classdesc}{netrc}{\optional{file}}
|
---|
17 | A \class{netrc} instance or subclass instance encapsulates data from
|
---|
18 | a netrc file. The initialization argument, if present, specifies the
|
---|
19 | file to parse. If no argument is given, the file \file{.netrc} in the
|
---|
20 | user's home directory will be read. Parse errors will raise
|
---|
21 | \exception{NetrcParseError} with diagnostic information including the
|
---|
22 | file name, line number, and terminating token.
|
---|
23 | \end{classdesc}
|
---|
24 |
|
---|
25 | \begin{excdesc}{NetrcParseError}
|
---|
26 | Exception raised by the \class{netrc} class when syntactical errors
|
---|
27 | are encountered in source text. Instances of this exception provide
|
---|
28 | three interesting attributes: \member{msg} is a textual explanation
|
---|
29 | of the error, \member{filename} is the name of the source file, and
|
---|
30 | \member{lineno} gives the line number on which the error was found.
|
---|
31 | \end{excdesc}
|
---|
32 |
|
---|
33 |
|
---|
34 | \subsection{netrc Objects \label{netrc-objects}}
|
---|
35 |
|
---|
36 | A \class{netrc} instance has the following methods:
|
---|
37 |
|
---|
38 | \begin{methoddesc}{authenticators}{host}
|
---|
39 | Return a 3-tuple \code{(\var{login}, \var{account}, \var{password})}
|
---|
40 | of authenticators for \var{host}. If the netrc file did not
|
---|
41 | contain an entry for the given host, return the tuple associated with
|
---|
42 | the `default' entry. If neither matching host nor default entry is
|
---|
43 | available, return \code{None}.
|
---|
44 | \end{methoddesc}
|
---|
45 |
|
---|
46 | \begin{methoddesc}{__repr__}{}
|
---|
47 | Dump the class data as a string in the format of a netrc file.
|
---|
48 | (This discards comments and may reorder the entries.)
|
---|
49 | \end{methoddesc}
|
---|
50 |
|
---|
51 | Instances of \class{netrc} have public instance variables:
|
---|
52 |
|
---|
53 | \begin{memberdesc}{hosts}
|
---|
54 | Dictionary mapping host names to \code{(\var{login}, \var{account},
|
---|
55 | \var{password})} tuples. The `default' entry, if any, is represented
|
---|
56 | as a pseudo-host by that name.
|
---|
57 | \end{memberdesc}
|
---|
58 |
|
---|
59 | \begin{memberdesc}{macros}
|
---|
60 | Dictionary mapping macro names to string lists.
|
---|
61 | \end{memberdesc}
|
---|
62 |
|
---|
63 | \note{Passwords are limited to a subset of the ASCII character set.
|
---|
64 | Versions of this module prior to 2.3 were extremely limited. Starting with
|
---|
65 | 2.3, all ASCII punctuation is allowed in passwords. However, note that
|
---|
66 | whitespace and non-printable characters are not allowed in passwords. This
|
---|
67 | is a limitation of the way the .netrc file is parsed and may be removed in
|
---|
68 | the future.}
|
---|