| <?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>googleapiclient._helpers</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="googleapiclient-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="googleapiclient-module.html">Package googleapiclient</a> :: | |
| Module _helpers | |
| </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="googleapiclient._helpers-module.html" | |
| target="_top">no frames</a>]</span></td></tr> | |
| </table> | |
| </td> | |
| </tr> | |
| </table> | |
| <!-- ==================== MODULE DESCRIPTION ==================== --> | |
| <h1 class="epydoc">Module _helpers</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient._helpers-pysrc.html">source code</a></span></p> | |
| <p>Helper functions for commonly used utilities.</p> | |
| <!-- ==================== 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 href="googleapiclient._helpers-module.html#positional" class="summary-sig-name">positional</a>(<span class="summary-sig-arg">max_positional_args</span>)</span><br /> | |
| A decorator to declare that only the first N arguments may be positional.</td> | |
| <td align="right" valign="top"> | |
| <span class="codelink"><a href="googleapiclient._helpers-pysrc.html#positional">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="googleapiclient._helpers-module.html#parse_unique_urlencoded" class="summary-sig-name">parse_unique_urlencoded</a>(<span class="summary-sig-arg">content</span>)</span><br /> | |
| Parses unique key-value parameters from urlencoded content.</td> | |
| <td align="right" valign="top"> | |
| <span class="codelink"><a href="googleapiclient._helpers-pysrc.html#parse_unique_urlencoded">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="googleapiclient._helpers-module.html#update_query_params" class="summary-sig-name">update_query_params</a>(<span class="summary-sig-arg">uri</span>, | |
| <span class="summary-sig-arg">params</span>)</span><br /> | |
| Updates a URI with new query parameters.</td> | |
| <td align="right" valign="top"> | |
| <span class="codelink"><a href="googleapiclient._helpers-pysrc.html#update_query_params">source code</a></span> | |
| </td> | |
| </tr> | |
| </table> | |
| </td> | |
| </tr> | |
| <tr class="private"> | |
| <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="googleapiclient._helpers-module.html#_add_query_parameter" class="summary-sig-name" onclick="show_private();">_add_query_parameter</a>(<span class="summary-sig-arg">url</span>, | |
| <span class="summary-sig-arg">name</span>, | |
| <span class="summary-sig-arg">value</span>)</span><br /> | |
| Adds a query parameter to a url.</td> | |
| <td align="right" valign="top"> | |
| <span class="codelink"><a href="googleapiclient._helpers-pysrc.html#_add_query_parameter">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> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="POSITIONAL_WARNING"></a><span class="summary-name">POSITIONAL_WARNING</span> = <code title="'WARNING'"><code class="variable-quote">'</code><code class="variable-string">WARNING</code><code class="variable-quote">'</code></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="POSITIONAL_EXCEPTION"></a><span class="summary-name">POSITIONAL_EXCEPTION</span> = <code title="'EXCEPTION'"><code class="variable-quote">'</code><code class="variable-string">EXCEPTION</code><code class="variable-quote">'</code></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="POSITIONAL_IGNORE"></a><span class="summary-name">POSITIONAL_IGNORE</span> = <code title="'IGNORE'"><code class="variable-quote">'</code><code class="variable-string">IGNORE</code><code class="variable-quote">'</code></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="POSITIONAL_SET"></a><span class="summary-name">POSITIONAL_SET</span> = <code title="frozenset(['EXCEPTION', 'IGNORE', 'WARNING'])"><code class="variable-group">frozenset([</code><code class="variable-quote">'</code><code class="variable-string">EXCEPTION</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">IGNORE</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">WARNING</code><code class="variable-quote">'</code><code class="variable-group">])</code></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="positional_parameters_enforcement"></a><span class="summary-name">positional_parameters_enforcement</span> = <code title="'WARNING'"><code class="variable-quote">'</code><code class="variable-string">WARNING</code><code class="variable-quote">'</code></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="_SYM_LINK_MESSAGE"></a><span class="summary-name">_SYM_LINK_MESSAGE</span> = <code title="'File: {0}: Is a symbolic link.'"><code class="variable-quote">'</code><code class="variable-string">File: {0}: Is a symbolic link.</code><code class="variable-quote">'</code></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="_IS_DIR_MESSAGE"></a><span class="summary-name">_IS_DIR_MESSAGE</span> = <code title="'{0}: Is a directory'"><code class="variable-quote">'</code><code class="variable-string">{0}: Is a directory</code><code class="variable-quote">'</code></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 href="googleapiclient._helpers-module.html#_MISSING_FILE_MESSAGE" class="summary-name" onclick="show_private();">_MISSING_FILE_MESSAGE</a> = <code title="'Cannot access {0}: No such file or directory'"><code class="variable-quote">'</code><code class="variable-string">Cannot access {0}: No such file or di</code><code class="variable-ellipsis">...</code></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="15%" align="right" valign="top" class="summary"> | |
| <span class="summary-type"> </span> | |
| </td><td class="summary"> | |
| <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'googleapiclient'"><code class="variable-quote">'</code><code class="variable-string">googleapiclient</code><code class="variable-quote">'</code></code> | |
| </td> | |
| </tr> | |
| </table> | |
| <!-- ==================== FUNCTION DETAILS ==================== --> | |
| <a name="section-FunctionDetails"></a> | |
| <table class="details" 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">Function Details</span></td> | |
| <td align="right" valign="top" | |
| ><span class="options">[<a href="#section-FunctionDetails" | |
| class="privatelink" onclick="toggle_private();" | |
| >hide private</a>]</span></td> | |
| </tr> | |
| </table> | |
| </td> | |
| </tr> | |
| </table> | |
| <a name="positional"></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">positional</span>(<span class="sig-arg">max_positional_args</span>)</span> | |
| </h3> | |
| </td><td align="right" valign="top" | |
| ><span class="codelink"><a href="googleapiclient._helpers-pysrc.html#positional">source code</a></span> | |
| </td> | |
| </tr></table> | |
| <pre class="literalblock"> | |
| A decorator to declare that only the first N arguments may be positional. | |
| This decorator makes it easy to support Python 3 style keyword-only | |
| parameters. For example, in Python 3 it is possible to write:: | |
| def fn(pos1, *, kwonly1=None, kwonly1=None): | |
| ... | |
| All named parameters after ``*`` must be a keyword:: | |
| fn(10, 'kw1', 'kw2') # Raises exception. | |
| fn(10, kwonly1='kw1') # Ok. | |
| Example | |
| ^^^^^^^ | |
| To define a function like above, do:: | |
| @positional(1) | |
| def fn(pos1, kwonly1=None, kwonly2=None): | |
| ... | |
| If no default value is provided to a keyword argument, it becomes a | |
| required keyword argument:: | |
| @positional(0) | |
| def fn(required_kw): | |
| ... | |
| This must be called with the keyword parameter:: | |
| fn() # Raises exception. | |
| fn(10) # Raises exception. | |
| fn(required_kw=10) # Ok. | |
| When defining instance or class methods always remember to account for | |
| ``self`` and ``cls``:: | |
| class MyClass(object): | |
| @positional(2) | |
| def my_method(self, pos1, kwonly1=None): | |
| ... | |
| @classmethod | |
| @positional(2) | |
| def my_method(cls, pos1, kwonly1=None): | |
| ... | |
| The positional decorator behavior is controlled by | |
| ``_helpers.positional_parameters_enforcement``, which may be set to | |
| ``POSITIONAL_EXCEPTION``, ``POSITIONAL_WARNING`` or | |
| ``POSITIONAL_IGNORE`` to raise an exception, log a warning, or do | |
| nothing, respectively, if a declaration is violated. | |
| Args: | |
| max_positional_arguments: Maximum number of positional arguments. All | |
| parameters after the this index must be | |
| keyword only. | |
| Returns: | |
| A decorator that prevents using arguments after max_positional_args | |
| from being used as positional parameters. | |
| Raises: | |
| TypeError: if a key-word only argument is provided as a positional | |
| parameter, but only if | |
| _helpers.positional_parameters_enforcement is set to | |
| POSITIONAL_EXCEPTION. | |
| </pre> | |
| <dl class="fields"> | |
| </dl> | |
| </td></tr></table> | |
| </div> | |
| <a name="parse_unique_urlencoded"></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">parse_unique_urlencoded</span>(<span class="sig-arg">content</span>)</span> | |
| </h3> | |
| </td><td align="right" valign="top" | |
| ><span class="codelink"><a href="googleapiclient._helpers-pysrc.html#parse_unique_urlencoded">source code</a></span> | |
| </td> | |
| </tr></table> | |
| <pre class="literalblock"> | |
| Parses unique key-value parameters from urlencoded content. | |
| Args: | |
| content: string, URL-encoded key-value pairs. | |
| Returns: | |
| dict, The key-value pairs from ``content``. | |
| Raises: | |
| ValueError: if one of the keys is repeated. | |
| </pre> | |
| <dl class="fields"> | |
| </dl> | |
| </td></tr></table> | |
| </div> | |
| <a name="update_query_params"></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">update_query_params</span>(<span class="sig-arg">uri</span>, | |
| <span class="sig-arg">params</span>)</span> | |
| </h3> | |
| </td><td align="right" valign="top" | |
| ><span class="codelink"><a href="googleapiclient._helpers-pysrc.html#update_query_params">source code</a></span> | |
| </td> | |
| </tr></table> | |
| <pre class="literalblock"> | |
| Updates a URI with new query parameters. | |
| If a given key from ``params`` is repeated in the ``uri``, then | |
| the URI will be considered invalid and an error will occur. | |
| If the URI is valid, then each value from ``params`` will | |
| replace the corresponding value in the query parameters (if | |
| it exists). | |
| Args: | |
| uri: string, A valid URI, with potential existing query parameters. | |
| params: dict, A dictionary of query parameters. | |
| Returns: | |
| The same URI but with the new query parameters added. | |
| </pre> | |
| <dl class="fields"> | |
| </dl> | |
| </td></tr></table> | |
| </div> | |
| <a name="_add_query_parameter"></a> | |
| <div class="private"> | |
| <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">_add_query_parameter</span>(<span class="sig-arg">url</span>, | |
| <span class="sig-arg">name</span>, | |
| <span class="sig-arg">value</span>)</span> | |
| </h3> | |
| </td><td align="right" valign="top" | |
| ><span class="codelink"><a href="googleapiclient._helpers-pysrc.html#_add_query_parameter">source code</a></span> | |
| </td> | |
| </tr></table> | |
| <pre class="literalblock"> | |
| Adds a query parameter to a url. | |
| Replaces the current value if it already exists in the URL. | |
| Args: | |
| url: string, url to add the query parameter to. | |
| name: string, query parameter name. | |
| value: string, query parameter value. | |
| Returns: | |
| Updated query parameter. Does not update the url if value is None. | |
| </pre> | |
| <dl class="fields"> | |
| </dl> | |
| </td></tr></table> | |
| </div> | |
| <br /> | |
| <!-- ==================== VARIABLES DETAILS ==================== --> | |
| <a name="section-VariablesDetails"></a> | |
| <table class="details" 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 Details</span></td> | |
| <td align="right" valign="top" | |
| ><span class="options">[<a href="#section-VariablesDetails" | |
| class="privatelink" onclick="toggle_private();" | |
| >hide private</a>]</span></td> | |
| </tr> | |
| </table> | |
| </td> | |
| </tr> | |
| </table> | |
| <a name="_MISSING_FILE_MESSAGE"></a> | |
| <div class="private"> | |
| <table class="details" border="1" cellpadding="3" | |
| cellspacing="0" width="100%" bgcolor="white"> | |
| <tr><td> | |
| <h3 class="epydoc">_MISSING_FILE_MESSAGE</h3> | |
| <dl class="fields"> | |
| </dl> | |
| <dl class="fields"> | |
| <dt>Value:</dt> | |
| <dd><table><tr><td><pre class="variable"> | |
| <code class="variable-quote">'</code><code class="variable-string">Cannot access {0}: No such file or directory</code><code class="variable-quote">'</code> | |
| </pre></td></tr></table> | |
| </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="googleapiclient-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 Fri Oct 2 20:46:22 2020 | |
| </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> |