Documentation/Source/eric5.E5Network.E5Ftp.html

changeset 2074
5cb87968aad5
child 2077
68a34718a0ce
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.E5Network.E5Ftp.html	Sat Sep 29 18:37:03 2012 +0200
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.E5Network.E5Ftp</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.E5Network.E5Ftp</h1>
+<p>
+Module implementing an extension to the Python FTP class to support FTP proxies.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#E5Ftp">E5Ftp</a></td>
+<td>Class implementing an extension to the Python FTP class to support FTP proxies.</td>
+</tr><tr>
+<td><a href="#E5FtpProxyError">E5FtpProxyError</a></td>
+<td>Class to signal an error related to proxy configuration.</td>
+</tr><tr>
+<td><a href="#E5FtpProxyType">E5FtpProxyType</a></td>
+<td>Class defining the supported FTP proxy types.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="E5Ftp" ID="E5Ftp"></a>
+<h2>E5Ftp</h2>
+<p>
+    Class implementing an extension to the Python FTP class to support FTP proxies.
+</p>
+<h3>Derived from</h3>
+ftplib.FTP
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#E5Ftp.__init__">E5Ftp</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#E5Ftp.connect">connect</a></td>
+<td>Public method to connect to the given FTP server.</td>
+</tr><tr>
+<td><a href="#E5Ftp.login">login</a></td>
+<td>Public method to login to the FTP server.</td>
+</tr><tr>
+<td><a href="#E5Ftp.setProxy">setProxy</a></td>
+<td>Public method to set the proxy configuration.</td>
+</tr><tr>
+<td><a href="#E5Ftp.setProxyAuthentication">setProxyAuthentication</a></td>
+<td>Public method to set the proxy authentication info.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="E5Ftp.__init__" ID="E5Ftp.__init__"></a>
+<h4>E5Ftp (Constructor)</h4>
+<b>E5Ftp</b>(<i>host="", user="", password="", acct="", proxyType=E5FtpProxyType.NoProxy, proxyHost="", proxyPort=ftplib.FTP_PORT, proxyUser="", proxyPassword="", proxyAccount="", timeout=_GLOBAL_DEFAULT_TIMEOUT</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>host</i></dt>
+<dd>
+name of the FTP host (string)
+</dd><dt><i>user</i></dt>
+<dd>
+user name for login to FTP host (string)
+</dd><dt><i>password</i></dt>
+<dd>
+password for login to FTP host (string)
+</dd><dt><i>acct</i></dt>
+<dd>
+account for login to FTP host (string)
+</dd><dt><i>proxyType</i></dt>
+<dd>
+type of the FTP proxy (integer 0 to 8)
+</dd><dt><i>proxyHost</i></dt>
+<dd>
+name of the FTP proxy (string)
+</dd><dt><i>proxyPort</i></dt>
+<dd>
+port of the FTP proxy (integer)
+</dd><dt><i>proxyUser</i></dt>
+<dd>
+user name for login to the proxy (string)
+</dd><dt><i>proxyPassword</i></dt>
+<dd>
+password for login to the proxy (string)
+</dd><dt><i>proxyAccount</i></dt>
+<dd>
+accounting info for the proxy (string)
+</dd><dt><i>timeout</i></dt>
+<dd>
+timeout in seconds for blocking operations (integer)
+</dd>
+</dl><a NAME="E5Ftp.connect" ID="E5Ftp.connect"></a>
+<h4>E5Ftp.connect</h4>
+<b>connect</b>(<i>host="", port=0, timeout=-999</i>)
+<p>
+        Public method to connect to the given FTP server.
+</p><p>
+        This extended method connects to the proxy instead of the given host,
+        if a proxy is to be used. It throws an exception, if the proxy data
+        is incomplete.
+</p><dl>
+<dt><i>host</i></dt>
+<dd>
+name of the FTP host (string)
+</dd><dt><i>port</i></dt>
+<dd>
+port of the FTP host (integer)
+</dd><dt><i>timeout</i></dt>
+<dd>
+timeout in seconds for blocking operations (integer)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+welcome message of the server (string)
+</dd>
+</dl><dl>
+<dt>Raises <b>E5FtpProxyError</b>:</dt>
+<dd>
+raised to indicate a proxy related issue
+</dd>
+</dl><a NAME="E5Ftp.login" ID="E5Ftp.login"></a>
+<h4>E5Ftp.login</h4>
+<b>login</b>(<i>user="", password="", acct=""</i>)
+<p>
+        Public method to login to the FTP server.
+</p><p>
+        This extended method respects the FTP proxy configuration. There are many
+        different FTP proxy products available. But unfortunately there is no
+        standard for how o traverse a FTP proxy. The lis below shows the sequence
+        of commands used.
+</p><p>
+        <table>
+          <tr><td>user</td><td>Username for remote host</td></tr>
+          <tr><td>pass</td><td>Password for remote host</td></tr>
+          <tr><td>pruser</td><td>Username for FTP proxy</td></tr>
+          <tr><td>prpass</td><td>Password for FTP proxy</td></tr>
+          <tr><td>remote.host</td><td>Hostname of the remote FTP server</td></tr>
+        </table>
+</p><p>
+        <dl>
+          <dt>E5FtpProxyType.NoProxy</dt>
+          <dd>
+            USER user<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.NonAuthorizing</dt>
+          <dd>
+            USER user@remote.host<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.UserAtServer</dt>
+          <dd>
+            USER pruser<br/>
+            PASS prpass<br/>
+            USER user@remote.host<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.Site</dt>
+          <dd>
+            USER pruser<br/>
+            PASS prpass<br/>
+            SITE remote.site<br/>
+            USER user<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.Open</dt>
+          <dd>
+            USER pruser<br/>
+            PASS prpass<br/>
+            OPEN remote.site<br/>
+            USER user<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.UserAtProxyuserAtServer</dt>
+          <dd>
+            USER user@pruser@remote.host<br/>
+            PASS pass@prpass
+          </dd>
+          <dt>E5FtpProxyType.ProxyuserAtServer</dt>
+          <dd>
+            USER pruser@remote.host<br/>
+            PASS prpass<br/>
+            USER user<br/>
+            PASS pass
+          </dd>
+          <dt>E5FtpProxyType.AuthResp</dt>
+          <dd>
+            USER user@remote.host<br/>
+            PASS pass<br/>
+            AUTH pruser<br/>
+            RESP prpass
+          </dd>
+          <dt>E5FtpProxyType.Bluecoat</dt>
+          <dd>
+            USER user@remote.host pruser<br/>
+            PASS pass<br/>
+            ACCT prpass
+          </dd>
+        </dl>
+</p><dl>
+<dt><i>user</i></dt>
+<dd>
+username for the remote host (string)
+</dd><dt><i>password</i></dt>
+<dd>
+password for the remote host (string)
+</dd><dt><i>acct</i></dt>
+<dd>
+accounting information for the remote host (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+response sent by the remote host (string)
+</dd>
+</dl><dl>
+<dt>Raises <b>E5FtpProxyError</b>:</dt>
+<dd>
+raised to indicate a proxy related issue
+</dd>
+</dl><a NAME="E5Ftp.setProxy" ID="E5Ftp.setProxy"></a>
+<h4>E5Ftp.setProxy</h4>
+<b>setProxy</b>(<i>proxyType=E5FtpProxyType.NoProxy, proxyHost="", proxyPort=ftplib.FTP_PORT, proxyUser="", proxyPassword="", proxyAccount=""</i>)
+<p>
+        Public method to set the proxy configuration.
+</p><dl>
+<dt><i>proxyType</i></dt>
+<dd>
+type of the FTP proxy (integer 0 to 8)
+</dd><dt><i>proxyHost</i></dt>
+<dd>
+name of the FTP proxy (string)
+</dd><dt><i>proxyPort</i></dt>
+<dd>
+port of the FTP proxy (integer)
+</dd><dt><i>proxyUser</i></dt>
+<dd>
+user name for login to the proxy (string)
+</dd><dt><i>proxyPassword</i></dt>
+<dd>
+password  for login to the proxy (string)
+</dd><dt><i>proxyAccount</i></dt>
+<dd>
+accounting info for the proxy (string)
+</dd>
+</dl><a NAME="E5Ftp.setProxyAuthentication" ID="E5Ftp.setProxyAuthentication"></a>
+<h4>E5Ftp.setProxyAuthentication</h4>
+<b>setProxyAuthentication</b>(<i>proxyUser="", proxyPassword="", proxyAccount=""</i>)
+<p>
+        Public method to set the proxy authentication info.
+</p><dl>
+<dt><i>proxyUser</i></dt>
+<dd>
+user name for login to the proxy (string)
+</dd><dt><i>proxyPassword</i></dt>
+<dd>
+password  for login to the proxy (string)
+</dd><dt><i>proxyAccount</i></dt>
+<dd>
+accounting info for the proxy (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="E5FtpProxyError" ID="E5FtpProxyError"></a>
+<h2>E5FtpProxyError</h2>
+<p>
+    Class to signal an error related to proxy configuration.
+</p><p>
+    The error message starts with a three digit error code followed by a
+    space and the error string. Supported error codes are:
+    <ul>
+      <li>910: proxy error; the second number gives the category of the proxy error.
+          The original response from the proxy is appended in the next line.</li>
+      <li>930: proxy error; the second number gives the category of the proxy error.
+          The original response from the proxy is appended in the next line.</li>
+      <li>940: proxy error; the second number gives the category of the proxy error.
+          The original response from the proxy is appended in the next line.</li>
+      <li>950: proxy error; the second number gives the category of the proxy error.
+          The original response from the proxy is appended in the next line.</li>
+      <li>990: proxy usage is enabled but no proxy host given</li>
+      <li>991: proxy usage is enabled but no proxy user given</li>
+      <li>992: proxy usage is enabled but no proxy password given</li>
+    </ul>
+</p>
+<h3>Derived from</h3>
+ftplib.Error
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="E5FtpProxyType" ID="E5FtpProxyType"></a>
+<h2>E5FtpProxyType</h2>
+<p>
+    Class defining the supported FTP proxy types.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>AuthResp</td></tr><tr><td>Bluecoat</td></tr><tr><td>NoProxy</td></tr><tr><td>NonAuthorizing</td></tr><tr><td>Open</td></tr><tr><td>ProxyuserAtServer</td></tr><tr><td>Site</td></tr><tr><td>UserAtProxyuserAtServer</td></tr><tr><td>UserAtServer</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file

eric ide

mercurial