blob: ee86119c91d66f542a97ef450af1afb1e85bbeca [file] [log] [blame]
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ResilientDB SDK: resdb_driver.utils Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_html_style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('namespaceresdb__driver_1_1utils.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">resdb_driver.utils Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1utils_1_1CreateOperation.html">CreateOperation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class representing the <code>'CREATE'</code> transaction operation. <a href="classresdb__driver_1_1utils_1_1CreateOperation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1utils_1_1TransferOperation.html">TransferOperation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class representing the <code>'TRANSFER'</code> transaction operation. <a href="classresdb__driver_1_1utils_1_1TransferOperation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac56bcfe8355fc848e4becfa6be57c46c" id="r_ac56bcfe8355fc848e4becfa6be57c46c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#ac56bcfe8355fc848e4becfa6be57c46c">_get_default_port</a> (scheme)</td></tr>
<tr class="separator:ac56bcfe8355fc848e4becfa6be57c46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3867a34b5f082182b8466513426c2473" id="r_a3867a34b5f082182b8466513426c2473"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a3867a34b5f082182b8466513426c2473">_normalize_operation</a> (operation)</td></tr>
<tr class="memdesc:a3867a34b5f082182b8466513426c2473"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes the given operation string. <br /></td></tr>
<tr class="separator:a3867a34b5f082182b8466513426c2473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a319d3a22233ce2768e3a3cb2be2f4657" id="r_a319d3a22233ce2768e3a3cb2be2f4657"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a319d3a22233ce2768e3a3cb2be2f4657">gen_timestamp</a> ()</td></tr>
<tr class="memdesc:a319d3a22233ce2768e3a3cb2be2f4657"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Unix time, rounded to the nearest second. <br /></td></tr>
<tr class="separator:a319d3a22233ce2768e3a3cb2be2f4657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac67e0153c85503044a7c3f316bb21652" id="r_ac67e0153c85503044a7c3f316bb21652"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#ac67e0153c85503044a7c3f316bb21652">normalize_node</a> (node, headers=None)</td></tr>
<tr class="memdesc:ac67e0153c85503044a7c3f316bb21652"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes given node as str or dict with headers. <br /></td></tr>
<tr class="separator:ac67e0153c85503044a7c3f316bb21652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0507370d5915f090cf56d15b4dc1e88f" id="r_a0507370d5915f090cf56d15b4dc1e88f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a0507370d5915f090cf56d15b4dc1e88f">normalize_nodes</a> (*nodes, headers=None)</td></tr>
<tr class="memdesc:a0507370d5915f090cf56d15b4dc1e88f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes given dict or array of driver nodes. <br /></td></tr>
<tr class="separator:a0507370d5915f090cf56d15b4dc1e88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2348e62786f89faa16350d03ff416b62" id="r_a2348e62786f89faa16350d03ff416b62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a2348e62786f89faa16350d03ff416b62">normalize_url</a> (node)</td></tr>
<tr class="memdesc:a2348e62786f89faa16350d03ff416b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes the given node url. <br /></td></tr>
<tr class="separator:a2348e62786f89faa16350d03ff416b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89675d24c56641c50a8af90a980a9c9f" id="r_a89675d24c56641c50a8af90a980a9c9f"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a89675d24c56641c50a8af90a980a9c9f">serialize</a> (dict data)</td></tr>
<tr class="memdesc:a89675d24c56641c50a8af90a980a9c9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a dict into a JSON formatted string. <br /></td></tr>
<tr class="separator:a89675d24c56641c50a8af90a980a9c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a196b3c6cffb8ddb5c87d914f2193072f" id="r_a196b3c6cffb8ddb5c87d914f2193072f"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a196b3c6cffb8ddb5c87d914f2193072f">DEFAULT_NODE</a> = &quot;http://localhost:9984&quot;</td></tr>
<tr class="separator:a196b3c6cffb8ddb5c87d914f2193072f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2338f51e9558c8714ab261585b918ec6" id="r_a2338f51e9558c8714ab261585b918ec6"><td class="memItemLeft" align="right" valign="top">dict&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__driver_1_1utils.html#a2338f51e9558c8714ab261585b918ec6">ops_map</a></td></tr>
<tr class="separator:a2338f51e9558c8714ab261585b918ec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac56bcfe8355fc848e4becfa6be57c46c" name="ac56bcfe8355fc848e4becfa6be57c46c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac56bcfe8355fc848e4becfa6be57c46c">&#9670;&#160;</a></span>_get_default_port()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">_get_default_port </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>scheme</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3867a34b5f082182b8466513426c2473" name="a3867a34b5f082182b8466513426c2473"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3867a34b5f082182b8466513426c2473">&#9670;&#160;</a></span>_normalize_operation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">_normalize_operation </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>operation</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Normalizes the given operation string. </p>
<p>For now, this simply means converting the given string to uppercase, looking it up in :attr:<code>~.ops_map</code>, and returning the corresponding class if present.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">operation</td><td>(str): The operation string to convert.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The class corresponding to the given string, :class:<code>~.CreateOperation</code> or :class:<code>~TransferOperation</code>.</dd></dl>
<p>.. important:: If the :meth:<code>str.upper</code> step, or the :attr:<code>~.ops_map</code> lookup fails, the given <code>operation</code> argument is returned. </p>
</div>
</div>
<a id="a319d3a22233ce2768e3a3cb2be2f4657" name="a319d3a22233ce2768e3a3cb2be2f4657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a319d3a22233ce2768e3a3cb2be2f4657">&#9670;&#160;</a></span>gen_timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gen_timestamp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The Unix time, rounded to the nearest second. </p>
<p>See <a href="https://en.wikipedia.org/wiki/Unix_time">https://en.wikipedia.org/wiki/Unix_time</a> </p><dl class="section return"><dt>Returns</dt><dd>The Unix time </dd></dl>
</div>
</div>
<a id="ac67e0153c85503044a7c3f316bb21652" name="ac67e0153c85503044a7c3f316bb21652"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac67e0153c85503044a7c3f316bb21652">&#9670;&#160;</a></span>normalize_node()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">normalize_node </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Normalizes given node as str or dict with headers. </p>
</div>
</div>
<a id="a0507370d5915f090cf56d15b4dc1e88f" name="a0507370d5915f090cf56d15b4dc1e88f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0507370d5915f090cf56d15b4dc1e88f">&#9670;&#160;</a></span>normalize_nodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">normalize_nodes </td>
<td>(</td>
<td class="paramtype">*&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Normalizes given dict or array of driver nodes. </p>
</div>
</div>
<a id="a2348e62786f89faa16350d03ff416b62" name="a2348e62786f89faa16350d03ff416b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2348e62786f89faa16350d03ff416b62">&#9670;&#160;</a></span>normalize_url()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">normalize_url </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Normalizes the given node url. </p>
</div>
</div>
<a id="a89675d24c56641c50a8af90a980a9c9f" name="a89675d24c56641c50a8af90a980a9c9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89675d24c56641c50a8af90a980a9c9f">&#9670;&#160;</a></span>serialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str serialize </td>
<td>(</td>
<td class="paramtype">dict&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Serialize a dict into a JSON formatted string. </p>
<p>This function enforces rules like the separator and order of keys. This ensures that all dicts are serialized in the same way.</p>
<p>This is specially important for hashing data. We need to make sure that everyone serializes their data in the same way so that we do not have hash mismatches for the same structure due to serialization differences.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>(dict): Data to serialize</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>JSON formatted string </dd></dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a196b3c6cffb8ddb5c87d914f2193072f" name="a196b3c6cffb8ddb5c87d914f2193072f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a196b3c6cffb8ddb5c87d914f2193072f">&#9670;&#160;</a></span>DEFAULT_NODE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">str DEFAULT_NODE = &quot;http://localhost:9984&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2338f51e9558c8714ab261585b918ec6" name="a2338f51e9558c8714ab261585b918ec6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2338f51e9558c8714ab261585b918ec6">&#9670;&#160;</a></span>ops_map</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dict ops_map</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line"><span class="lineno"> 1</span>= {</div>
<div class="line"><span class="lineno"> 2</span> <span class="stringliteral">&quot;CREATE&quot;</span>: CreateOperation,</div>
<div class="line"><span class="lineno"> 3</span> <span class="stringliteral">&quot;TRANSFER&quot;</span>: TransferOperation,</div>
<div class="line"><span class="lineno"> 4</span>}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceresdb__driver.html">resdb_driver</a></li><li class="navelem"><a class="el" href="namespaceresdb__driver_1_1utils.html">utils</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>