diff options
Diffstat (limited to 'docs/paramiko.SFTPServerInterface-class.html')
-rw-r--r-- | docs/paramiko.SFTPServerInterface-class.html | 976 |
1 files changed, 976 insertions, 0 deletions
diff --git a/docs/paramiko.SFTPServerInterface-class.html b/docs/paramiko.SFTPServerInterface-class.html new file mode 100644 index 0000000..df785ad --- /dev/null +++ b/docs/paramiko.SFTPServerInterface-class.html @@ -0,0 +1,976 @@ +<?xml version="1.0" encoding="ascii"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>paramiko.SFTPServerInterface</title> + <link rel="stylesheet" href="epydoc.css" type="text/css" /> + <script type="text/javascript" src="epydoc.js"></script> +</head> + +<body bgcolor="white" text="black" link="blue" vlink="#204080" + alink="#204080"> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="paramiko-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <th class="navbar" width="100%"></th> + </tr> +</table> +<table width="100%" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="100%"> + <span class="breadcrumbs"> + <a href="paramiko-module.html">Package paramiko</a> :: + Class SFTPServerInterface + </span> + </td> + <td> + <table cellpadding="0" cellspacing="0"> + <!-- hide/show private --> + <tr><td align="right"><span class="options" + >[<a href="frames.html" target="_top">frames</a + >] | <a href="paramiko.SFTPServerInterface-class.html" + target="_top">no frames</a>]</span></td></tr> + </table> + </td> + </tr> +</table> +<!-- ==================== CLASS DESCRIPTION ==================== --> +<h1 class="epydoc">Class SFTPServerInterface</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPServerInterface">source code</a></span></p> +<pre class="base-tree"> +object --+ + | + <strong class="uidshort">SFTPServerInterface</strong> +</pre> + +<hr /> +<p>This class defines an interface for controlling the behavior of + paramiko when using the <a href="paramiko.SFTPServer-class.html" + class="link">SFTPServer</a> subsystem to provide an SFTP server.</p> + <p>Methods on this class are called from the SFTP session's thread, so + you can block as long as necessary without affecting other sessions (even + other SFTP sessions). However, raising an exception will usually cause + the SFTP session to abruptly end, so you will usually want to catch + exceptions and return an appropriate error code.</p> + <p>All paths are in string form instead of unicode because not all SFTP + clients & servers obey the requirement that paths be encoded in + UTF-8.</p> + +<!-- ==================== INSTANCE METHODS ==================== --> +<a name="section-InstanceMethods"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Instance Methods</span></td> +</tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">server</span>, + <span class="summary-sig-arg">*largs</span>, + <span class="summary-sig-arg">**kwargs</span>)</span><br /> + Create a new SFTPServerInterface object.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#canonicalize" class="summary-sig-name">canonicalize</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Return the canonical form of a path on the server.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#chattr" class="summary-sig-name">chattr</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>, + <span class="summary-sig-arg">attr</span>)</span><br /> + Change the attributes of a file.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">list of <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#list_folder" class="summary-sig-name">list_folder</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Return a list of files within a given folder.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#lstat" class="summary-sig-name">lstat</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Return an <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> object for a path on the server, or + an error code.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#mkdir" class="summary-sig-name">mkdir</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>, + <span class="summary-sig-arg">attr</span>)</span><br /> + Create a new directory with the given attributes.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#open" class="summary-sig-name">open</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>, + <span class="summary-sig-arg">flags</span>, + <span class="summary-sig-arg">attr</span>)</span><br /> + Open a file on the server and create a handle for future operations + on that file.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">str <i>or error code</i></span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#readlink" class="summary-sig-name">readlink</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Return the target of a symbolic link (or shortcut) on the server.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#remove" class="summary-sig-name">remove</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Delete a file, if possible.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#rename" class="summary-sig-name">rename</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">oldpath</span>, + <span class="summary-sig-arg">newpath</span>)</span><br /> + Rename (or move) a file.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#rmdir" class="summary-sig-name">rmdir</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Remove a directory if it exists.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#session_ended" class="summary-sig-name">session_ended</a>(<span class="summary-sig-arg">self</span>)</span><br /> + The SFTP server session has just ended, either cleanly or via an + exception.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#session_started" class="summary-sig-name">session_started</a>(<span class="summary-sig-arg">self</span>)</span><br /> + The SFTP server session has just started.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Return an <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> object for a path on the server, or + an error code.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type">int</span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#symlink" class="summary-sig-name">symlink</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">target_path</span>, + <span class="summary-sig-arg">path</span>)</span><br /> + Create a symbolic link on the server, as new pathname + <code>path</code>, with <code>target_path</code> as the target of the + link.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> + <tr> + <td colspan="2" class="summary"> + <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: + <code>__delattr__</code>, + <code>__getattribute__</code>, + <code>__hash__</code>, + <code>__new__</code>, + <code>__reduce__</code>, + <code>__reduce_ex__</code>, + <code>__repr__</code>, + <code>__setattr__</code>, + <code>__str__</code> + </p> + </td> + </tr> +</table> +<!-- ==================== PROPERTIES ==================== --> +<a name="section-Properties"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Properties</span></td> +</tr> + <tr> + <td colspan="2" class="summary"> + <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: + <code>__class__</code> + </p> + </td> + </tr> +</table> +<!-- ==================== METHOD DETAILS ==================== --> +<a name="section-MethodDetails"></a> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Method Details</span></td> +</tr> +</table> +<a name="__init__"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">server</span>, + <span class="sig-arg">*largs</span>, + <span class="sig-arg">**kwargs</span>)</span> + <br /><em class="fname">(Constructor)</em> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Create a new SFTPServerInterface object. This method does nothing by + default and is meant to be overridden by subclasses.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html" + class="link">ServerInterface</a>) - the server object associated with this channel and SFTP subsystem</li> + </ul></dd> + <dt>Overrides: + object.__init__ + </dt> + </dl> +</td></tr></table> +</div> +<a name="canonicalize"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">canonicalize</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Return the canonical form of a path on the server. For example, if + the server's home folder is <code>/home/foo</code>, the path + <code>"../betty"</code> would be canonicalized to + <code>"/home/betty"</code>. Note the obvious security issues: + if you're serving files only from a specific folder, you probably don't + want this method to reveal path names outside that folder.</p> + <p>You may find the python methods in <code>os.path</code> useful, + especially <code>os.path.normpath</code> and + <code>os.path.realpath</code>.</p> + <p>The default implementation returns <code>os.path.normpath('/' + + path)</code>.</p> + <dl class="fields"> + </dl> +</td></tr></table> +</div> +<a name="chattr"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">chattr</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>, + <span class="sig-arg">attr</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Change the attributes of a file. The <code>attr</code> object will + contain only those fields provided by the client in its request, so you + should check for the presence of fields before using them.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the file to change.</li> + <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a>) - requested attributes to change on the file.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an error code like SFTP_OK.</dd> + </dl> +</td></tr></table> +</div> +<a name="list_folder"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">list_folder</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Return a list of files within a given folder. The <code>path</code> + will use posix notation (<code>"/"</code> separates folder + names) and may be an absolute or relative path.</p> + <p>The list of files is expected to be a list of <a + href="paramiko.SFTPAttributes-class.html" class="link">SFTPAttributes</a> + objects, which are similar in structure to the objects returned by + <code>os.stat</code>. In addition, each object should have its + <code>filename</code> field filled in, since this is important to a + directory listing and not normally present in <code>os.stat</code> + results. The method <a + href="paramiko.SFTPAttributes-class.html#from_stat" + class="link">SFTPAttributes.from_stat</a> will usually do what you + want.</p> + <p>In case of an error, you should return one of the <code>SFTP_*</code> + error codes, such as SFTP_PERMISSION_DENIED.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to be listed.</li> + </ul></dd> + <dt>Returns: list of <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></dt> + <dd>a list of the files in the given folder, using <a + href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> objects.</dd> + </dl> +<div class="fields"> <p><strong>Note:</strong> + You should normalize the given <code>path</code> first (see the + <code>os.path</code> module) and check appropriate permissions + before returning the list of files. Be careful of malicious + clients attempting to use relative paths to escape restricted + folders, if you're doing a direct translation from the SFTP server + path to your local filesystem. + </p> +</div></td></tr></table> +</div> +<a name="lstat"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">lstat</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Return an <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> object for a path on the server, or an + error code. If your server supports symbolic links (also known as + "aliases"), you should <i>not</i> follow them -- instead, you + should return data on the symlink or alias itself. (<a + href="paramiko.SFTPServerInterface-class.html#stat" class="link">stat</a> + is the corresponding call that follows symlinks/aliases.)</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to fetch file + statistics for.</li> + </ul></dd> + <dt>Returns: <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></dt> + <dd>an attributes object for the given file, or an SFTP error code + (like SFTP_PERMISSION_DENIED).</dd> + </dl> +</td></tr></table> +</div> +<a name="mkdir"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">mkdir</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>, + <span class="sig-arg">attr</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Create a new directory with the given attributes. The + <code>attr</code> object may be considered a "hint" and + ignored.</p> + <p>The <code>attr</code> object will contain only those fields provided + by the client in its request, so you should use <code>hasattr</code> to + check for the presense of fields before using them. In some cases, the + <code>attr</code> object may be completely empty.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the new folder.</li> + <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a>) - requested attributes of the new folder.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an SFTP error code like SFTP_OK.</dd> + </dl> +</td></tr></table> +</div> +<a name="open"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">open</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>, + <span class="sig-arg">flags</span>, + <span class="sig-arg">attr</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Open a file on the server and create a handle for future operations on + that file. On success, a new object subclassed from <a + href="paramiko.SFTPHandle-class.html" class="link">SFTPHandle</a> should + be returned. This handle will be used for future operations on the file + (read, write, etc). On failure, an error code such as + SFTP_PERMISSION_DENIED should be returned.</p> + <p><code>flags</code> contains the requested mode for opening (read-only, + write-append, etc) as a bitset of flags from the <code>os</code> + module:</p> + <ul> + <li> + <code>os.O_RDONLY</code> + </li> + <li> + <code>os.O_WRONLY</code> + </li> + <li> + <code>os.O_RDWR</code> + </li> + <li> + <code>os.O_APPEND</code> + </li> + <li> + <code>os.O_CREAT</code> + </li> + <li> + <code>os.O_TRUNC</code> + </li> + <li> + <code>os.O_EXCL</code> + </li> + </ul> + <p>(One of <code>os.O_RDONLY</code>, <code>os.O_WRONLY</code>, or + <code>os.O_RDWR</code> will always be set.)</p> + <p>The <code>attr</code> object contains requested attributes of the file + if it has to be created. Some or all attribute fields may be missing if + the client didn't specify them.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) of the file to be + opened.</li> + <li><strong class="pname"><code>flags</code></strong> (int) - flags or'd together from the <code>os</code> module indicating + the requested mode for opening the file.</li> + <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a>) - requested attributes of the file if it is newly created.</li> + </ul></dd> + <dt>Returns:</dt> + <dd>a new <a href="paramiko.SFTPHandle-class.html" + class="link">SFTPHandle</a> <i>or error code</i>. @rtype <a + href="paramiko.SFTPHandle-class.html" class="link">SFTPHandle</a></dd> + </dl> +<div class="fields"> <p><strong>Note:</strong> + The SFTP protocol defines all files to be in "binary" + mode. There is no equivalent to python's "text" mode. + </p> +</div></td></tr></table> +</div> +<a name="readlink"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">readlink</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Return the target of a symbolic link (or shortcut) on the server. If + the specified path doesn't refer to a symbolic link, an error should be + returned.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - path (relative or absolute) of the symbolic link.</li> + </ul></dd> + <dt>Returns: str <i>or error code</i></dt> + <dd>the target path of the symbolic link, or an error code like + SFTP_NO_SUCH_FILE.</dd> + </dl> +</td></tr></table> +</div> +<a name="remove"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">remove</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Delete a file, if possible.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) of the file to delete.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an SFTP error code like SFTP_OK.</dd> + </dl> +</td></tr></table> +</div> +<a name="rename"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">rename</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">oldpath</span>, + <span class="sig-arg">newpath</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Rename (or move) a file. The SFTP specification implies that this + method can be used to move an existing file into a different folder, and + since there's no other (easy) way to move files via SFTP, it's probably a + good idea to implement "move" in this method too, even for + files that cross disk partition boundaries, if at all possible.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>oldpath</code></strong> (str) - the requested path (relative or absolute) of the existing file.</li> + <li><strong class="pname"><code>newpath</code></strong> (str) - the requested new path of the file.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an SFTP error code like SFTP_OK.</dd> + </dl> +<div class="fields"> <p><strong>Note:</strong> + You should return an error if a file with the same name as + <code>newpath</code> already exists. (The rename operation should + be non-desctructive.) + </p> +</div></td></tr></table> +</div> +<a name="rmdir"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">rmdir</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Remove a directory if it exists. The <code>path</code> should refer + to an existing, empty folder -- otherwise this method should return an + error.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the folder to remove.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an SFTP error code like SFTP_OK.</dd> + </dl> +</td></tr></table> +</div> +<a name="session_ended"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">session_ended</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>The SFTP server session has just ended, either cleanly or via an + exception. This method is meant to be overridden to perform any + necessary cleanup before this <code>SFTPServerInterface</code> object is + destroyed.</p> + <dl class="fields"> + </dl> +</td></tr></table> +</div> +<a name="session_started"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">session_started</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>The SFTP server session has just started. This method is meant to be + overridden to perform any necessary setup before handling callbacks from + SFTP operations.</p> + <dl class="fields"> + </dl> +</td></tr></table> +</div> +<a name="stat"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Return an <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> object for a path on the server, or an + error code. If your server supports symbolic links (also known as + "aliases"), you should follow them. (<a + href="paramiko.SFTPServerInterface-class.html#lstat" + class="link">lstat</a> is the corresponding call that doesn't follow + symlinks/aliases.)</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to fetch file + statistics for.</li> + </ul></dd> + <dt>Returns: <a href="paramiko.SFTPAttributes-class.html" + class="link">SFTPAttributes</a> <i>or error code</i></dt> + <dd>an attributes object for the given file, or an SFTP error code + (like SFTP_PERMISSION_DENIED).</dd> + </dl> +</td></tr></table> +</div> +<a name="symlink"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">symlink</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">target_path</span>, + <span class="sig-arg">path</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Create a symbolic link on the server, as new pathname + <code>path</code>, with <code>target_path</code> as the target of the + link.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>target_path</code></strong> (str) - path (relative or absolute) of the target for this new symbolic + link.</li> + <li><strong class="pname"><code>path</code></strong> (str) - path (relative or absolute) of the symbolic link to create.</li> + </ul></dd> + <dt>Returns: int</dt> + <dd>an error code like <code>SFTP_OK</code>.</dd> + </dl> +</td></tr></table> +</div> +<br /> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="paramiko-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <th class="navbar" width="100%"></th> + </tr> +</table> +<table border="0" cellpadding="0" cellspacing="0" width="100%%"> + <tr> + <td align="left" class="footer"> + Generated by Epydoc 3.0.1 on Sun Jul 6 18:30:29 2008 + </td> + <td align="right" class="footer"> + <a target="mainFrame" href="http://epydoc.sourceforge.net" + >http://epydoc.sourceforge.net</a> + </td> + </tr> +</table> + +<script type="text/javascript"> + <!-- + // Private objects are initially displayed (because if + // javascript is turned off then we want them to be + // visible); but by default, we want to hide them. So hide + // them unless we have a cookie that says to show them. + checkCookie(); + // --> +</script> +</body> +</html> |