blob: ab7761ad113e13c529f41455e4b8e0d46960f338 [file] [log] [blame]
Joe Gregorio66212032012-06-14 09:10:14 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>oauth2client.locked_file</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
38 Module&nbsp;locked_file
39 </span>
40 </td>
41 <td>
42 <table cellpadding="0" cellspacing="0">
43 <!-- hide/show private -->
44 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
45 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
46 <tr><td align="right"><span class="options"
47 >[<a href="frames.html" target="_top">frames</a
48 >]&nbsp;|&nbsp;<a href="oauth2client.locked_file-module.html"
49 target="_top">no&nbsp;frames</a>]</span></td></tr>
50 </table>
51 </td>
52 </tr>
53</table>
54<!-- ==================== MODULE DESCRIPTION ==================== -->
55<h1 class="epydoc">Module locked_file</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html">source&nbsp;code</a></span></p>
56<pre class="literalblock">
57Locked file interface that should work on Unix and Windows pythons.
58
59This module first tries to use fcntl locking to ensure serialized access
60to a file, then falls back on a lock file if that is unavialable.
61
62Usage:
63 f = LockedFile('filename', 'r+b', 'rb')
64 f.open_and_lock()
65 if f.is_locked():
66 print 'Acquired filename with r+b mode'
67 f.file_handle().write('locked data')
68 else:
69 print 'Aquired filename with rb mode'
70 f.unlock_and_close()
71
72</pre>
73
74<hr />
75<div class="fields"> <p><strong>Author:</strong>
76 cache@google.com (David T McWherter)
77 </p>
78</div><!-- ==================== CLASSES ==================== -->
79<a name="section-Classes"></a>
80<table class="summary" border="1" cellpadding="3"
81 cellspacing="0" width="100%" bgcolor="white">
82<tr bgcolor="#70b0f0" class="table-header">
83 <td colspan="2" class="table-header">
84 <table border="0" cellpadding="0" cellspacing="0" width="100%">
85 <tr valign="top">
86 <td align="left"><span class="table-header">Classes</span></td>
87 <td align="right" valign="top"
88 ><span class="options">[<a href="#section-Classes"
89 class="privatelink" onclick="toggle_private();"
90 >hide private</a>]</span></td>
91 </tr>
92 </table>
93 </td>
94</tr>
95<tr>
96 <td width="15%" align="right" valign="top" class="summary">
97 <span class="summary-type">&nbsp;</span>
98 </td><td class="summary">
99 <a href="oauth2client.locked_file.AlreadyLockedException-class.html" class="summary-name">AlreadyLockedException</a><br />
100 Trying to lock a file that has already been locked by the LockedFile.
101 </td>
102 </tr>
103<tr class="private">
104 <td width="15%" align="right" valign="top" class="summary">
105 <span class="summary-type">&nbsp;</span>
106 </td><td class="summary">
107 <a href="oauth2client.locked_file._Opener-class.html" class="summary-name" onclick="show_private();">_Opener</a><br />
108 Base class for different locking primitives.
109 </td>
110 </tr>
111<tr class="private">
112 <td width="15%" align="right" valign="top" class="summary">
113 <span class="summary-type">&nbsp;</span>
114 </td><td class="summary">
115 <a href="oauth2client.locked_file._PosixOpener-class.html" class="summary-name" onclick="show_private();">_PosixOpener</a><br />
116 Lock files using Posix advisory lock files.
117 </td>
118 </tr>
119<tr class="private">
120 <td width="15%" align="right" valign="top" class="summary">
121 <span class="summary-type">&nbsp;</span>
122 </td><td class="summary">
123 <a href="oauth2client.locked_file._FcntlOpener-class.html" class="summary-name" onclick="show_private();">_FcntlOpener</a><br />
124 Open, lock, and unlock a file using fcntl.lockf.
125 </td>
126 </tr>
127<tr>
128 <td width="15%" align="right" valign="top" class="summary">
129 <span class="summary-type">&nbsp;</span>
130 </td><td class="summary">
131 <a href="oauth2client.locked_file.LockedFile-class.html" class="summary-name">LockedFile</a><br />
132 Represent a file that has exclusive access.
133 </td>
134 </tr>
135</table>
136<!-- ==================== VARIABLES ==================== -->
137<a name="section-Variables"></a>
138<table class="summary" border="1" cellpadding="3"
139 cellspacing="0" width="100%" bgcolor="white">
140<tr bgcolor="#70b0f0" class="table-header">
141 <td colspan="2" class="table-header">
142 <table border="0" cellpadding="0" cellspacing="0" width="100%">
143 <tr valign="top">
144 <td align="left"><span class="table-header">Variables</span></td>
145 <td align="right" valign="top"
146 ><span class="options">[<a href="#section-Variables"
147 class="privatelink" onclick="toggle_private();"
148 >hide private</a>]</span></td>
149 </tr>
150 </table>
151 </td>
152</tr>
153<tr>
154 <td width="15%" align="right" valign="top" class="summary">
155 <span class="summary-type">&nbsp;</span>
156 </td><td class="summary">
157 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
158 </td>
159 </tr>
Joe Gregoriobf14cef2012-06-22 15:26:16 -0400160<tr class="private">
161 <td width="15%" align="right" valign="top" class="summary">
162 <span class="summary-type">&nbsp;</span>
163 </td><td class="summary">
164 <a name="_Win32Opener"></a><span class="summary-name">_Win32Opener</span> = <code title="None">None</code>
165 </td>
166 </tr>
Joe Gregorio66212032012-06-14 09:10:14 -0400167<tr>
168 <td width="15%" align="right" valign="top" class="summary">
169 <span class="summary-type">&nbsp;</span>
170 </td><td class="summary">
171 <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'oauth2client'"><code class="variable-quote">'</code><code class="variable-string">oauth2client</code><code class="variable-quote">'</code></code>
172 </td>
173 </tr>
174</table>
175<!-- ==================== NAVIGATION BAR ==================== -->
176<table class="navbar" border="0" width="100%" cellpadding="0"
177 bgcolor="#a0c0ff" cellspacing="0">
178 <tr valign="middle">
179
180 <!-- Tree link -->
181 <th>&nbsp;&nbsp;&nbsp;<a
182 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
183
184 <!-- Index link -->
185 <th>&nbsp;&nbsp;&nbsp;<a
186 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
187
188 <!-- Help link -->
189 <th>&nbsp;&nbsp;&nbsp;<a
190 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
191
192 <th class="navbar" width="100%"></th>
193 </tr>
194</table>
195<table border="0" cellpadding="0" cellspacing="0" width="100%%">
196 <tr>
197 <td align="left" class="footer">
Joe Gregoriobf14cef2012-06-22 15:26:16 -0400198 Generated by Epydoc 3.0.1 on Fri Jun 22 14:19:32 2012
Joe Gregorio66212032012-06-14 09:10:14 -0400199 </td>
200 <td align="right" class="footer">
201 <a target="mainFrame" href="http://epydoc.sourceforge.net"
202 >http://epydoc.sourceforge.net</a>
203 </td>
204 </tr>
205</table>
206
207<script type="text/javascript">
208 <!--
209 // Private objects are initially displayed (because if
210 // javascript is turned off then we want them to be
211 // visible); but by default, we want to hide them. So hide
212 // them unless we have a cookie that says to show them.
213 checkCookie();
214 // -->
215</script>
216</body>
217</html>