blob: 7948b4fff8a22592d16b897afd45f9b9201d966e [file] [log] [blame]
Joe Gregorioad8013f2012-08-03 08:44:02 -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.util</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;util
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.util-module.html"
49 target="_top">no&nbsp;frames</a>]</span></td></tr>
50 </table>
51 </td>
52 </tr>
53</table>
54<!-- ==================== MODULE DESCRIPTION ==================== -->
Joe Gregorio1b425aa2012-08-24 12:04:34 -040055<h1 class="epydoc">Module util</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span></p>
Joe Gregorioad8013f2012-08-03 08:44:02 -040056<pre class="literalblock">
57Common utility library.
58
59</pre>
60
61<hr />
62<div class="fields"> <dl><dt>Authors:</dt>
63 <dd>
64 rafek@google.com (Rafe Kaplan),
65 guido@google.com (Guido van Rossum)
66 </dd>
67 </dl>
68</div><!-- ==================== FUNCTIONS ==================== -->
69<a name="section-Functions"></a>
70<table class="summary" border="1" cellpadding="3"
71 cellspacing="0" width="100%" bgcolor="white">
72<tr bgcolor="#70b0f0" class="table-header">
73 <td colspan="2" class="table-header">
74 <table border="0" cellpadding="0" cellspacing="0" width="100%">
75 <tr valign="top">
76 <td align="left"><span class="table-header">Functions</span></td>
77 <td align="right" valign="top"
78 ><span class="options">[<a href="#section-Functions"
79 class="privatelink" onclick="toggle_private();"
80 >hide private</a>]</span></td>
81 </tr>
82 </table>
83 </td>
84</tr>
85<tr>
86 <td width="15%" align="right" valign="top" class="summary">
87 <span class="summary-type">&nbsp;</span>
88 </td><td class="summary">
89 <table width="100%" cellpadding="0" cellspacing="0" border="0">
90 <tr>
91 <td><span class="summary-sig"><a href="oauth2client.util-module.html#positional" class="summary-sig-name">positional</a>(<span class="summary-sig-arg">max_positional_args</span>)</span><br />
92 A decorator to declare that only the first N arguments my be positional.</td>
93 <td align="right" valign="top">
Joe Gregorio1b425aa2012-08-24 12:04:34 -040094 <span class="codelink"><a href="oauth2client.util-pysrc.html#positional">source&nbsp;code</a></span>
Joe Gregorioad8013f2012-08-03 08:44:02 -040095
96 </td>
97 </tr>
98 </table>
99
100 </td>
101 </tr>
102</table>
103<!-- ==================== VARIABLES ==================== -->
104<a name="section-Variables"></a>
105<table class="summary" border="1" cellpadding="3"
106 cellspacing="0" width="100%" bgcolor="white">
107<tr bgcolor="#70b0f0" class="table-header">
108 <td colspan="2" class="table-header">
109 <table border="0" cellpadding="0" cellspacing="0" width="100%">
110 <tr valign="top">
111 <td align="left"><span class="table-header">Variables</span></td>
112 <td align="right" valign="top"
113 ><span class="options">[<a href="#section-Variables"
114 class="privatelink" onclick="toggle_private();"
115 >hide private</a>]</span></td>
116 </tr>
117 </table>
118 </td>
119</tr>
120<tr class="private">
121 <td width="15%" align="right" valign="top" class="summary">
122 <span class="summary-type">&nbsp;</span>
123 </td><td class="summary">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400124 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
125 </td>
126 </tr>
127<tr class="private">
128 <td width="15%" align="right" valign="top" class="summary">
129 <span class="summary-type">&nbsp;</span>
130 </td><td class="summary">
Joe Gregorioad8013f2012-08-03 08:44:02 -0400131 <a name="FLAGS"></a><span class="summary-name">FLAGS</span> = <code title="gflags.FLAGS">gflags.FLAGS</code>
132 </td>
133 </tr>
134<tr class="private">
135 <td width="15%" align="right" valign="top" class="summary">
136 <span class="summary-type">&nbsp;</span>
137 </td><td class="summary">
138 <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>
139 </td>
140 </tr>
Joe Gregorioad8013f2012-08-03 08:44:02 -0400141</table>
142<!-- ==================== FUNCTION DETAILS ==================== -->
143<a name="section-FunctionDetails"></a>
144<table class="details" border="1" cellpadding="3"
145 cellspacing="0" width="100%" bgcolor="white">
146<tr bgcolor="#70b0f0" class="table-header">
147 <td colspan="2" class="table-header">
148 <table border="0" cellpadding="0" cellspacing="0" width="100%">
149 <tr valign="top">
150 <td align="left"><span class="table-header">Function Details</span></td>
151 <td align="right" valign="top"
152 ><span class="options">[<a href="#section-FunctionDetails"
153 class="privatelink" onclick="toggle_private();"
154 >hide private</a>]</span></td>
155 </tr>
156 </table>
157 </td>
158</tr>
159</table>
160<a name="positional"></a>
161<div>
162<table class="details" border="1" cellpadding="3"
163 cellspacing="0" width="100%" bgcolor="white">
164<tr><td>
165 <table width="100%" cellpadding="0" cellspacing="0" border="0">
166 <tr valign="top"><td>
167 <h3 class="epydoc"><span class="sig"><span class="sig-name">positional</span>(<span class="sig-arg">max_positional_args</span>)</span>
168 </h3>
169 </td><td align="right" valign="top"
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400170 ><span class="codelink"><a href="oauth2client.util-pysrc.html#positional">source&nbsp;code</a></span>&nbsp;
Joe Gregorioad8013f2012-08-03 08:44:02 -0400171 </td>
172 </tr></table>
173
174 <pre class="literalblock">
175A decorator to declare that only the first N arguments my be positional.
176
177This decorator makes it easy to support Python 3 style key-word only
178parameters. For example, in Python 3 it is possible to write:
179
180 def fn(pos1, *, kwonly1=None, kwonly1=None):
181 ...
182
183All named parameters after * must be a keyword:
184
185 fn(10, 'kw1', 'kw2') # Raises exception.
186 fn(10, kwonly1='kw1') # Ok.
187
188Example:
189 To define a function like above, do:
190
191 @positional(1)
192 def fn(pos1, kwonly1=None, kwonly2=None):
193 ...
194
195 If no default value is provided to a keyword argument, it becomes a required
196 keyword argument:
197
198 @positional(0)
199 def fn(required_kw):
200 ...
201
202 This must be called with the keyword parameter:
203
204 fn() # Raises exception.
205 fn(10) # Raises exception.
206 fn(required_kw=10) # Ok.
207
208 When defining instance or class methods always remember to account for
209 'self' and 'cls':
210
211 class MyClass(object):
212
213 @positional(2)
214 def my_method(self, pos1, kwonly1=None):
215 ...
216
217 @classmethod
218 @positional(2)
219 def my_method(cls, pos1, kwonly1=None):
220 ...
221
222The positional decorator behavior is controlled by the
223--positional_parameters_enforcement flag. The flag may be set to 'EXCEPTION',
224'WARNING' or 'IGNORE' to raise an exception, log a warning, or do nothing,
225respectively, if a declaration is violated.
226
227Args:
228 max_positional_arguments: Maximum number of positional arguments. All
229 parameters after the this index must be keyword only.
230
231Returns:
232 A decorator that prevents using arguments after max_positional_args from
233 being used as positional parameters.
234
235Raises:
236 TypeError if a key-word only argument is provided as a positional parameter,
237 but only if the --positional_parameters_enforcement flag is set to
238 'EXCEPTION'.
239
240</pre>
241 <dl class="fields">
242 </dl>
243</td></tr></table>
244</div>
245<br />
246<!-- ==================== NAVIGATION BAR ==================== -->
247<table class="navbar" border="0" width="100%" cellpadding="0"
248 bgcolor="#a0c0ff" cellspacing="0">
249 <tr valign="middle">
250
251 <!-- Tree link -->
252 <th>&nbsp;&nbsp;&nbsp;<a
253 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
254
255 <!-- Index link -->
256 <th>&nbsp;&nbsp;&nbsp;<a
257 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
258
259 <!-- Help link -->
260 <th>&nbsp;&nbsp;&nbsp;<a
261 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
262
263 <th class="navbar" width="100%"></th>
264 </tr>
265</table>
266<table border="0" cellpadding="0" cellspacing="0" width="100%%">
267 <tr>
268 <td align="left" class="footer">
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400269 Generated by Epydoc 3.0.1 on Thu Aug 30 07:12:42 2012
Joe Gregorioad8013f2012-08-03 08:44:02 -0400270 </td>
271 <td align="right" class="footer">
272 <a target="mainFrame" href="http://epydoc.sourceforge.net"
273 >http://epydoc.sourceforge.net</a>
274 </td>
275 </tr>
276</table>
277
278<script type="text/javascript">
279 <!--
280 // Private objects are initially displayed (because if
281 // javascript is turned off then we want them to be
282 // visible); but by default, we want to hide them. So hide
283 // them unless we have a cookie that says to show them.
284 checkCookie();
285 // -->
286</script>
287</body>
288</html>