| <?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>oauth2client.locked_file</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"> |
| |
| <!-- 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="oauth2client-module.html">Package oauth2client</a> :: |
| Module locked_file |
| </span> |
| </td> |
| <td> |
| <table cellpadding="0" cellspacing="0"> |
| <!-- hide/show private --> |
| <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" |
| onclick="toggle_private();">hide private</a>]</span></td></tr> |
| <tr><td align="right"><span class="options" |
| >[<a href="frames.html" target="_top">frames</a |
| >] | <a href="oauth2client.locked_file-module.html" |
| target="_top">no frames</a>]</span></td></tr> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== MODULE DESCRIPTION ==================== --> |
| <h1 class="epydoc">Module locked_file</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html">source code</a></span></p> |
| <pre class="literalblock"> |
| Locked file interface that should work on Unix and Windows pythons. |
| |
| This module first tries to use fcntl locking to ensure serialized access |
| to a file, then falls back on a lock file if that is unavialable. |
| |
| Usage: |
| f = LockedFile('filename', 'r+b', 'rb') |
| f.open_and_lock() |
| if f.is_locked(): |
| print 'Acquired filename with r+b mode' |
| f.file_handle().write('locked data') |
| else: |
| print 'Aquired filename with rb mode' |
| f.unlock_and_close() |
| |
| </pre> |
| |
| <hr /> |
| <div class="fields"> <p><strong>Author:</strong> |
| cache@google.com (David T McWherter) |
| </p> |
| </div><!-- ==================== CLASSES ==================== --> |
| <a name="section-Classes"></a> |
| <table class="summary" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Classes</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-Classes" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</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"> |
| <a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html" class="summary-name">CredentialsFileSymbolicLinkError</a><br /> |
| Credentials files must not be symbolic links. |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a href="oauth2client.locked_file.AlreadyLockedException-class.html" class="summary-name">AlreadyLockedException</a><br /> |
| Trying to lock a file that has already been locked by the LockedFile. |
| </td> |
| </tr> |
| <tr class="private"> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a href="oauth2client.locked_file._Opener-class.html" class="summary-name" onclick="show_private();">_Opener</a><br /> |
| Base class for different locking primitives. |
| </td> |
| </tr> |
| <tr class="private"> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a href="oauth2client.locked_file._PosixOpener-class.html" class="summary-name" onclick="show_private();">_PosixOpener</a><br /> |
| Lock files using Posix advisory lock files. |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a href="oauth2client.locked_file.LockedFile-class.html" class="summary-name">LockedFile</a><br /> |
| Represent a file that has exclusive access. |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== FUNCTIONS ==================== --> |
| <a name="section-Functions"></a> |
| <table class="summary" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Functions</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-Functions" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</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 name="validate_file"></a><span class="summary-sig-name">validate_file</span>(<span class="summary-sig-arg">filename</span>)</span></td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#validate_file">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== VARIABLES ==================== --> |
| <a name="section-Variables"></a> |
| <table class="summary" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Variables</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-Variables" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</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"> |
| <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code> |
| </td> |
| </tr> |
| <tr class="private"> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a name="_FcntlOpener"></a><span class="summary-name">_FcntlOpener</span> = <code title="None">None</code> |
| </td> |
| </tr> |
| <tr class="private"> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <a name="_Win32Opener"></a><span class="summary-name">_Win32Opener</span> = <code title="None">None</code> |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== NAVIGATION BAR ==================== --> |
| <table class="navbar" border="0" width="100%" cellpadding="0" |
| bgcolor="#a0c0ff" cellspacing="0"> |
| <tr valign="middle"> |
| |
| <!-- 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 Thu Mar 7 10:31:23 2013 |
| </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> |