blob: c03ec2a2b121742b0f5315848c15d383859bb55e [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">
Joe Gregorio0cd347a2012-08-30 08:22:27 -040099 <a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html" class="summary-name">CredentialsFileSymbolicLinkError</a><br />
100 Credentials files must not be symbolic links.
101 </td>
102 </tr>
103<tr>
104 <td width="15%" align="right" valign="top" class="summary">
105 <span class="summary-type">&nbsp;</span>
106 </td><td class="summary">
Joe Gregorio66212032012-06-14 09:10:14 -0400107 <a href="oauth2client.locked_file.AlreadyLockedException-class.html" class="summary-name">AlreadyLockedException</a><br />
108 Trying to lock a file that has already been locked by the LockedFile.
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._Opener-class.html" class="summary-name" onclick="show_private();">_Opener</a><br />
116 Base class for different locking primitives.
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._PosixOpener-class.html" class="summary-name" onclick="show_private();">_PosixOpener</a><br />
124 Lock files using Posix advisory lock files.
125 </td>
126 </tr>
Joe Gregorio66212032012-06-14 09:10:14 -0400127<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>
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400136<!-- ==================== FUNCTIONS ==================== -->
137<a name="section-Functions"></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">Functions</span></td>
145 <td align="right" valign="top"
146 ><span class="options">[<a href="#section-Functions"
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 <table width="100%" cellpadding="0" cellspacing="0" border="0">
158 <tr>
159 <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>
160 <td align="right" valign="top">
161 <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#validate_file">source&nbsp;code</a></span>
162
163 </td>
164 </tr>
165 </table>
166
167 </td>
168 </tr>
169</table>
Joe Gregorio66212032012-06-14 09:10:14 -0400170<!-- ==================== VARIABLES ==================== -->
171<a name="section-Variables"></a>
172<table class="summary" border="1" cellpadding="3"
173 cellspacing="0" width="100%" bgcolor="white">
174<tr bgcolor="#70b0f0" class="table-header">
175 <td colspan="2" class="table-header">
176 <table border="0" cellpadding="0" cellspacing="0" width="100%">
177 <tr valign="top">
178 <td align="left"><span class="table-header">Variables</span></td>
179 <td align="right" valign="top"
180 ><span class="options">[<a href="#section-Variables"
181 class="privatelink" onclick="toggle_private();"
182 >hide private</a>]</span></td>
183 </tr>
184 </table>
185 </td>
186</tr>
187<tr>
188 <td width="15%" align="right" valign="top" class="summary">
189 <span class="summary-type">&nbsp;</span>
190 </td><td class="summary">
191 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
192 </td>
193 </tr>
Joe Gregoriobf14cef2012-06-22 15:26:16 -0400194<tr class="private">
195 <td width="15%" align="right" valign="top" class="summary">
196 <span class="summary-type">&nbsp;</span>
197 </td><td class="summary">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400198 <a name="_FcntlOpener"></a><span class="summary-name">_FcntlOpener</span> = <code title="None">None</code>
Joe Gregoriobf14cef2012-06-22 15:26:16 -0400199 </td>
200 </tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400201<tr class="private">
Joe Gregorio66212032012-06-14 09:10:14 -0400202 <td width="15%" align="right" valign="top" class="summary">
203 <span class="summary-type">&nbsp;</span>
204 </td><td class="summary">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400205 <a name="_Win32Opener"></a><span class="summary-name">_Win32Opener</span> = <code title="None">None</code>
Joe Gregorio66212032012-06-14 09:10:14 -0400206 </td>
207 </tr>
208</table>
209<!-- ==================== NAVIGATION BAR ==================== -->
210<table class="navbar" border="0" width="100%" cellpadding="0"
211 bgcolor="#a0c0ff" cellspacing="0">
212 <tr valign="middle">
213
214 <!-- Tree link -->
215 <th>&nbsp;&nbsp;&nbsp;<a
216 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
217
218 <!-- Index link -->
219 <th>&nbsp;&nbsp;&nbsp;<a
220 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
221
222 <!-- Help link -->
223 <th>&nbsp;&nbsp;&nbsp;<a
224 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
225
226 <th class="navbar" width="100%"></th>
227 </tr>
228</table>
229<table border="0" cellpadding="0" cellspacing="0" width="100%%">
230 <tr>
231 <td align="left" class="footer">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400232 Generated by Epydoc 3.0.1 on Thu Sep 6 13:36:11 2012
Joe Gregorio66212032012-06-14 09:10:14 -0400233 </td>
234 <td align="right" class="footer">
235 <a target="mainFrame" href="http://epydoc.sourceforge.net"
236 >http://epydoc.sourceforge.net</a>
237 </td>
238 </tr>
239</table>
240
241<script type="text/javascript">
242 <!--
243 // Private objects are initially displayed (because if
244 // javascript is turned off then we want them to be
245 // visible); but by default, we want to hide them. So hide
246 // them unless we have a cookie that says to show them.
247 checkCookie();
248 // -->
249</script>
250</body>
251</html>