annotate docs/rendered/pymonkey.html @ 164:3fadba042201

Minor rewording in docs.
author Atul Varma <varmaa@toolness.com>
date Sun, 30 Aug 2009 17:07:38 -0700
parents 4edaa0e6f382
children b745c9d8eef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 <head>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 <title>pymonkey — Access SpiderMonkey from Python &mdash; Pymonkey v0.0.1 documentation</title>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9 <link rel="stylesheet" href="_static/default.css" type="text/css" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 <script type="text/javascript">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 var DOCUMENTATION_OPTIONS = {
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 URL_ROOT: '',
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 VERSION: '0.0.1',
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 COLLAPSE_MODINDEX: false,
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 FILE_SUFFIX: '.html',
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17 HAS_SOURCE: true
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 };
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 </script>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
20 <script type="text/javascript" src="_static/jquery.js"></script>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 <script type="text/javascript" src="_static/doctools.js"></script>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 <link rel="top" title="Pymonkey v0.0.1 documentation" href="index.html" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 <link rel="prev" title="Pymonkey Documentation" href="index.html" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24 </head>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 <body>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
26 <div class="related">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
27 <h3>Navigation</h3>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 <ul>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29 <li class="right" style="margin-right: 10px">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 <a href="genindex.html" title="General Index"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
31 accesskey="I">index</a></li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
32 <li class="right" >
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33 <a href="modindex.html" title="Global Module Index"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 accesskey="M">modules</a> |</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 <li class="right" >
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
36 <a href="index.html" title="Pymonkey Documentation"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
37 accesskey="P">previous</a> |</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
38 <li><a href="index.html">Pymonkey v0.0.1 documentation</a> &raquo;</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
39 </ul>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
40 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
41
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
42 <div class="document">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
43 <div class="documentwrapper">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
44 <div class="bodywrapper">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
45 <div class="body">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
46
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
47 <div class="section" id="module-pymonkey">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
48 <h1><tt class="xref docutils literal"><span class="pre">pymonkey</span></tt> &#8212; Access SpiderMonkey from Python<a class="headerlink" href="#module-pymonkey" title="Permalink to this headline">¶</a></h1>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
49 <p>This module offers a low-level interface to the <a class="reference" href="https://developer.mozilla.org/en/SpiderMonkey">Mozilla SpiderMonkey</a> JavaScript engine.</p>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
50 <dl class="exception">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
51 <dt id="pymonkey.error">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
52 <em class="property">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53 exception </em><tt class="descclassname">pymonkey.</tt><tt class="descname">error</tt><a class="headerlink" href="#pymonkey.error" title="Permalink to this definition">¶</a></dt>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
54 <dd>This is the type of any SpiderMonkey-related errors thrown by this
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
55 module.</dd></dl>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
56
54
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
57 <dl class="data">
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
58 <dt id="pymonkey.undefined">
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
59 <tt class="descclassname">pymonkey.</tt><tt class="descname">undefined</tt><a class="headerlink" href="#pymonkey.undefined" title="Permalink to this definition">¶</a></dt>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
60 <dd><p>This is the singleton that represents the JavaScript value
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
61 <tt class="docutils literal"><span class="pre">undefined</span></tt>, as Python has no equivalent representation
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
62 (JavaScript&#8217;s <tt class="docutils literal"><span class="pre">null</span></tt> is mapped to Python&#8217;s <tt class="xref docutils literal"><span class="pre">None</span></tt> object).
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
63 For instance:</p>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
64 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
56
72e84bd75905 Made another doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 55
diff changeset
65 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">(),</span> <span class="s">&#39;&#39;</span><span class="p">,</span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
57
a2b617731398 pymonkey.undefined now has a 'falsy' value.
Atul Varma <varmaa@toolness.com>
parents: 56
diff changeset
66 <span class="go">pymonkey.undefined</span>
54
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
67 </pre></div>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
68 </div>
57
a2b617731398 pymonkey.undefined now has a 'falsy' value.
Atul Varma <varmaa@toolness.com>
parents: 56
diff changeset
69 <p>This object also has a &#8220;falsy&#8221; value:</p>
a2b617731398 pymonkey.undefined now has a 'falsy' value.
Atul Varma <varmaa@toolness.com>
parents: 56
diff changeset
70 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">if</span> <span class="ow">not</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">undefined</span><span class="p">:</span>
a2b617731398 pymonkey.undefined now has a 'falsy' value.
Atul Varma <varmaa@toolness.com>
parents: 56
diff changeset
71 <span class="gp">... </span> <span class="k">print</span> <span class="s">&quot;See, it&#39;s falsy!&quot;</span>
a2b617731398 pymonkey.undefined now has a 'falsy' value.
Atul Varma <varmaa@toolness.com>
parents: 56
diff changeset
72 <span class="go">See, it&#39;s falsy!</span>
54
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
73 </pre></div>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
74 </div>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
75 </dd></dl>
234fca1c4b86 Added docs for pymonkey.undefined.
Atul Varma <varmaa@toolness.com>
parents: 53
diff changeset
76
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
77 <dl class="class">
53
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
78 <dt id="pymonkey.Object">
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
79 <em class="property">
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
80 class </em><tt class="descclassname">pymonkey.</tt><tt class="descname">Object</tt><a class="headerlink" href="#pymonkey.Object" title="Permalink to this definition">¶</a></dt>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
81 <dd><p>This is the type of JavaScript objects. Such objects can only be
58
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
82 created via Pymonkey calls like <a title="pymonkey.Context.new_object" class="reference" href="#pymonkey.Context.new_object"><tt class="xref docutils literal"><span class="pre">Context.new_object()</span></tt></a> or
53
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
83 through the execution of JS code, but this type object can be used
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
84 with Python&#8217;s built-in <tt class="xref docutils literal"><span class="pre">isinstance()</span></tt> to verify that an
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
85 object is a JS object, like so:</p>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
86 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
87 <span class="gp">&gt;&gt;&gt; </span><span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Object</span><span class="p">)</span>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
88 <span class="go">True</span>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
89 </pre></div>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
90 </div>
163
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
91 <p>Note that <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a> and all its subclasses are
164
3fadba042201 Minor rewording in docs.
Atul Varma <varmaa@toolness.com>
parents: 163
diff changeset
92 identity-preserving when passed between Python and
3fadba042201 Minor rewording in docs.
Atul Varma <varmaa@toolness.com>
parents: 163
diff changeset
93 JavaScript code. For instance:</p>
163
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
94 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
95 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj1</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
96 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj2</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">obj1</span><span class="p">,</span> <span class="s">&#39;this&#39;</span><span class="p">,</span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
97 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj1</span> <span class="ow">is</span> <span class="n">obj2</span>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
98 <span class="go">True</span>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
99 </pre></div>
4edaa0e6f382 Added notes on identity perseverance for objects.
Atul Varma <varmaa@toolness.com>
parents: 161
diff changeset
100 </div>
78
c48b393f6461 Added docs for Object.get_runtime().
Atul Varma <varmaa@toolness.com>
parents: 58
diff changeset
101 <dl class="method">
c48b393f6461 Added docs for Object.get_runtime().
Atul Varma <varmaa@toolness.com>
parents: 58
diff changeset
102 <dt id="pymonkey.Object.get_runtime">
c48b393f6461 Added docs for Object.get_runtime().
Atul Varma <varmaa@toolness.com>
parents: 58
diff changeset
103 <tt class="descname">get_runtime</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Object.get_runtime" title="Permalink to this definition">¶</a></dt>
c48b393f6461 Added docs for Object.get_runtime().
Atul Varma <varmaa@toolness.com>
parents: 58
diff changeset
104 <dd>Returns the <a title="pymonkey.Runtime" class="reference" href="#pymonkey.Runtime"><tt class="xref docutils literal"><span class="pre">Runtime</span></tt></a> that the object belongs to.</dd></dl>
c48b393f6461 Added docs for Object.get_runtime().
Atul Varma <varmaa@toolness.com>
parents: 58
diff changeset
105
53
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
106 </dd></dl>
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
107
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
108 <dl class="class">
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
109 <dt id="pymonkey.Function">
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
110 <em class="property">
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
111 class </em><tt class="descclassname">pymonkey.</tt><tt class="descname">Function</tt><a class="headerlink" href="#pymonkey.Function" title="Permalink to this definition">¶</a></dt>
159
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
112 <dd><p>This is the type of JavaScript functions, which is a subtype of
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
113 <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a>.</p>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
114 <dl class="data">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
115 <dt id="pymonkey.Function.filename">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
116 <tt class="descname">filename</tt><a class="headerlink" href="#pymonkey.Function.filename" title="Permalink to this definition">¶</a></dt>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
117 <dd>Name of the file that contains the function&#8217;s original JS source
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
118 code. If the function isn&#8217;t a JS function, this value is
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
119 <tt class="xref docutils literal"><span class="pre">None</span></tt>.</dd></dl>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
120
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
121 <dl class="data">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
122 <dt id="pymonkey.Function.base_lineno">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
123 <tt class="descname">base_lineno</tt><a class="headerlink" href="#pymonkey.Function.base_lineno" title="Permalink to this definition">¶</a></dt>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
124 <dd>The line number at which the function&#8217;s JS source code begins.</dd></dl>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
125
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
126 <dl class="data">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
127 <dt id="pymonkey.Function.line_extent">
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
128 <tt class="descname">line_extent</tt><a class="headerlink" href="#pymonkey.Function.line_extent" title="Permalink to this definition">¶</a></dt>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
129 <dd>The number of lines comprising the function&#8217;s JS source code.</dd></dl>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
130
161
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
131 <dl class="data">
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
132 <dt id="pymonkey.Function.is_python">
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
133 <tt class="descname">is_python</tt><a class="headerlink" href="#pymonkey.Function.is_python" title="Permalink to this definition">¶</a></dt>
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
134 <dd>Whether or not the function is actually implemented in Python.
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
135 If it is, you can use <a title="pymonkey.Context.get_object_private" class="reference" href="#pymonkey.Context.get_object_private"><tt class="xref docutils literal"><span class="pre">Context.get_object_private()</span></tt></a> to
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
136 retrieve this Python function.</dd></dl>
28d067082390 Added docs for function.is_python.
Atul Varma <varmaa@toolness.com>
parents: 159
diff changeset
137
159
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
138 </dd></dl>
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
139
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
140 <dl class="class">
139
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
141 <dt id="pymonkey.Script">
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
142 <em class="property">
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
143 class </em><tt class="descclassname">pymonkey.</tt><tt class="descname">Script</tt><a class="headerlink" href="#pymonkey.Script" title="Permalink to this definition">¶</a></dt>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
144 <dd><p>This is the type of compiled JavaScript scripts; it&#8217;s actually a
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
145 subtype of <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a>, though when exposed to JS code it
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
146 doesn&#8217;t provide access to any special data or functionality.</p>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
147 <p>Script instances have a read-only buffer interface that exposes
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
148 their bytecode. This can be accessed by passing an instance to
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
149 Python&#8217;s built-in <tt class="docutils literal"><span class="pre">buffer()</span></tt> function.</p>
144
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
150 <dl class="data">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
151 <dt id="pymonkey.Script.filename">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
152 <tt class="descname">filename</tt><a class="headerlink" href="#pymonkey.Script.filename" title="Permalink to this definition">¶</a></dt>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
153 <dd>The filename of the script&#8217;s original source code.</dd></dl>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
154
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
155 <dl class="data">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
156 <dt id="pymonkey.Script.base_lineno">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
157 <tt class="descname">base_lineno</tt><a class="headerlink" href="#pymonkey.Script.base_lineno" title="Permalink to this definition">¶</a></dt>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
158 <dd>The line number at which the script&#8217;s original source code
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
159 begins.</dd></dl>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
160
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
161 <dl class="data">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
162 <dt id="pymonkey.Script.line_extent">
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
163 <tt class="descname">line_extent</tt><a class="headerlink" href="#pymonkey.Script.line_extent" title="Permalink to this definition">¶</a></dt>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
164 <dd>The number of lines comprising the original source code.</dd></dl>
ab612d2ad96a Updated docs to reflect new script members.
Atul Varma <varmaa@toolness.com>
parents: 141
diff changeset
165
139
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
166 </dd></dl>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
167
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
168 <dl class="class">
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
169 <dt id="pymonkey.Context">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
170 <em class="property">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
171 class </em><tt class="descclassname">pymonkey.</tt><tt class="descname">Context</tt><a class="headerlink" href="#pymonkey.Context" title="Permalink to this definition">¶</a></dt>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
172 <dd><p>This is the type of JavaScript context objects. Contexts can only
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
173 be created via a call to <a title="pymonkey.Runtime.new_context" class="reference" href="#pymonkey.Runtime.new_context"><tt class="xref docutils literal"><span class="pre">Runtime.new_context()</span></tt></a>, but this
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
174 type object can be used with Python&#8217;s built-in <tt class="xref docutils literal"><span class="pre">isinstance()</span></tt>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
175 to verify that an object is a context, like so:</p>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
176 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
177 <span class="gp">&gt;&gt;&gt; </span><span class="nb">isinstance</span><span class="p">(</span><span class="n">cx</span><span class="p">,</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Context</span><span class="p">)</span>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
178 <span class="go">True</span>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
179 </pre></div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
180 </div>
130
4705522c7431 Added notes about weak-referencability to docs.
Atul Varma <varmaa@toolness.com>
parents: 119
diff changeset
181 <p>JS contexts are weak-referencable.</p>
58
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
182 <dl class="method">
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
183 <dt id="pymonkey.Context.get_runtime">
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
184 <tt class="descname">get_runtime</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Context.get_runtime" title="Permalink to this definition">¶</a></dt>
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
185 <dd>Returns the <a title="pymonkey.Runtime" class="reference" href="#pymonkey.Runtime"><tt class="xref docutils literal"><span class="pre">Runtime</span></tt></a> that the context belongs to.</dd></dl>
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
186
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
187 <dl class="method">
148
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
188 <dt id="pymonkey.Context.get_stack">
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
189 <tt class="descname">get_stack</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Context.get_stack" title="Permalink to this definition">¶</a></dt>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
190 <dd><p>Returns a dictionary containing information about the context&#8217;s
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
191 current stack.</p>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
192 <p>The dictionary contains the following string keys:</p>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
193 <table border="1" class="docutils">
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
194 <colgroup>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
195 <col width="45%" />
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
196 <col width="55%" />
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
197 </colgroup>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
198 <thead valign="bottom">
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
199 <tr><th class="head">key</th>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
200 <th class="head">value</th>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
201 </tr>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
202 </thead>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
203 <tbody valign="top">
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
204 <tr><td><tt class="xref docutils literal"><span class="pre">script</span></tt></td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
205 <td><a title="pymonkey.Script" class="reference" href="#pymonkey.Script"><tt class="xref docutils literal"><span class="pre">Script</span></tt></a> of the frame.
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
206 This may be <tt class="xref docutils literal"><span class="pre">None</span></tt> if the frame
159
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
207 isn&#8217;t a scripted frame, or if it&#8217;s
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
208 not possible to expose the script
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
209 to Python for some reason.</td>
148
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
210 </tr>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
211 <tr><td><tt class="xref docutils literal"><span class="pre">lineno</span></tt></td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
212 <td>Line number of the frame, if the
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
213 frame is scripted.</td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
214 </tr>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
215 <tr><td><tt class="xref docutils literal"><span class="pre">pc</span></tt></td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
216 <td>Program counter of the frame; this
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
217 is an index into the bytecode of
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
218 the frame&#8217;s script, if the frame
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
219 is scripted.</td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
220 </tr>
159
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
221 <tr><td><tt class="xref docutils literal"><span class="pre">function</span></tt></td>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
222 <td>The <a title="pymonkey.Function" class="reference" href="#pymonkey.Function"><tt class="xref docutils literal"><span class="pre">Function</span></tt></a> in which the
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
223 frame is executing, if any.</td>
e57d8083fb3d Added more documentation and a unit test.
Atul Varma <varmaa@toolness.com>
parents: 150
diff changeset
224 </tr>
148
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
225 <tr><td><tt class="xref docutils literal"><span class="pre">caller</span></tt></td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
226 <td>Dictionary containing information
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
227 about the stack frame of the
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
228 caller of this frame. If this frame
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
229 has no caller, this value is
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
230 <tt class="xref docutils literal"><span class="pre">None</span></tt>.</td>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
231 </tr>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
232 </tbody>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
233 </table>
150
aea82140758c Added more to get_stack() docs.
Atul Varma <varmaa@toolness.com>
parents: 148
diff changeset
234 <p>If the context isn&#8217;t currently executing any code (i.e., the stack
aea82140758c Added more to get_stack() docs.
Atul Varma <varmaa@toolness.com>
parents: 148
diff changeset
235 is empty), this method returns <tt class="xref docutils literal"><span class="pre">None</span></tt>.</p>
148
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
236 </dd></dl>
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
237
0b1020c817b3 Added docs for context.get_stack().
Atul Varma <varmaa@toolness.com>
parents: 144
diff changeset
238 <dl class="method">
58
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
239 <dt id="pymonkey.Context.new_object">
79
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
240 <tt class="descname">new_object</tt><big>(</big><span class="optional">[</span><em>private_obj</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#pymonkey.Context.new_object" title="Permalink to this definition">¶</a></dt>
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
241 <dd>Creates a new <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a> instance and returns
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
242 it. <tt class="docutils literal"><span class="pre">private_obj</span></tt> is any Python object that is privately
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
243 stored within the new JS object; it can be retrieved using
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
244 <a title="pymonkey.Context.get_object_private" class="reference" href="#pymonkey.Context.get_object_private"><tt class="xref docutils literal"><span class="pre">get_object_private()</span></tt></a>.</dd></dl>
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
245
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
246 <dl class="method">
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
247 <dt id="pymonkey.Context.new_function">
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
248 <tt class="descname">new_function</tt><big>(</big><em>func</em>, <em>name</em><big>)</big><a class="headerlink" href="#pymonkey.Context.new_function" title="Permalink to this definition">¶</a></dt>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
249 <dd><p>Creates a new <a title="pymonkey.Function" class="reference" href="#pymonkey.Function"><tt class="xref docutils literal"><span class="pre">Function</span></tt></a> instance that wraps the
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
250 given Python callable. In JS-land, the function will
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
251 have the given name.</p>
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
252 <p>When the function is executed from JavaScript, <cite>func</cite>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
253 will be passed three positional arguments.</p>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
254 <p>The first argument is a <a title="pymonkey.Context" class="reference" href="#pymonkey.Context"><tt class="xref docutils literal"><span class="pre">Context</span></tt></a> that represents the
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
255 JS context which is calling the function.</p>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
256 <p>The second argument is an <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a> that represents the
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
257 value of <tt class="docutils literal"><span class="pre">this</span></tt> for the duration of the call.</p>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
258 <p>The third argument is a tuple containing the arguments
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
259 passed to the function.</p>
111
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
260 <p>For instance:</p>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
261 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="n">cx</span><span class="p">,</span> <span class="n">this</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
262 <span class="gp">... </span> <span class="k">return</span> <span class="n">args</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">args</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
263 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
264 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
265 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">define_property</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;add&#39;</span><span class="p">,</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_function</span><span class="p">(</span><span class="n">add</span><span class="p">,</span> <span class="s">&#39;add&#39;</span><span class="p">))</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
266 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;add(1, 1);&#39;</span><span class="p">,</span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
267 <span class="go">2</span>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
268 </pre></div>
df607254de2d Added a doctest.
Atul Varma <varmaa@toolness.com>
parents: 90
diff changeset
269 </div>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
270 </dd></dl>
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
271
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
272 <dl class="method">
114
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
273 <dt id="pymonkey.Context.define_property">
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
274 <tt class="descname">define_property</tt><big>(</big><em>object</em>, <em>name</em>, <em>value</em><big>)</big><a class="headerlink" href="#pymonkey.Context.define_property" title="Permalink to this definition">¶</a></dt>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
275 <dd>Creates a new property on <cite>object</cite>, bypassing any JavaScript setters.</dd></dl>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
276
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
277 <dl class="method">
134
0c81cb18c935 Added docs for context.has_property().
Atul Varma <varmaa@toolness.com>
parents: 130
diff changeset
278 <dt id="pymonkey.Context.has_property">
0c81cb18c935 Added docs for context.has_property().
Atul Varma <varmaa@toolness.com>
parents: 130
diff changeset
279 <tt class="descname">has_property</tt><big>(</big><em>object</em>, <em>name</em><big>)</big><a class="headerlink" href="#pymonkey.Context.has_property" title="Permalink to this definition">¶</a></dt>
0c81cb18c935 Added docs for context.has_property().
Atul Varma <varmaa@toolness.com>
parents: 130
diff changeset
280 <dd>Returns whether or not <cite>object</cite> has the specified property.</dd></dl>
0c81cb18c935 Added docs for context.has_property().
Atul Varma <varmaa@toolness.com>
parents: 130
diff changeset
281
0c81cb18c935 Added docs for context.has_property().
Atul Varma <varmaa@toolness.com>
parents: 130
diff changeset
282 <dl class="method">
114
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
283 <dt id="pymonkey.Context.get_property">
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
284 <tt class="descname">get_property</tt><big>(</big><em>object</em>, <em>name</em><big>)</big><a class="headerlink" href="#pymonkey.Context.get_property" title="Permalink to this definition">¶</a></dt>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
285 <dd><p>Finds the specified property on <cite>object</cite> and returns its value,
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
286 possibly invoking a JavaScript getter.</p>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
287 <p>Example:</p>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
288 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
289 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
290 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">define_property</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;beets&#39;</span><span class="p">,</span> <span class="s">&#39;i like beets.&#39;</span><span class="p">)</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
291 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;beets&#39;</span><span class="p">)</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
292 <span class="go">u&#39;i like beets.&#39;</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
293 </pre></div>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
294 </div>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
295 <p>Note also that calling this function on undefined properties
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
296 yields <a title="pymonkey.undefined" class="reference" href="#pymonkey.undefined"><tt class="xref docutils literal"><span class="pre">undefined</span></tt></a>:</p>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
297 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;carrots&#39;</span><span class="p">)</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
298 <span class="go">pymonkey.undefined</span>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
299 </pre></div>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
300 </div>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
301 </dd></dl>
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
302
87147faa031a Added docs for define_property() and get_property().
Atul Varma <varmaa@toolness.com>
parents: 113
diff changeset
303 <dl class="method">
79
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
304 <dt id="pymonkey.Context.get_object_private">
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
305 <tt class="descname">get_object_private</tt><big>(</big><em>object</em><big>)</big><a class="headerlink" href="#pymonkey.Context.get_object_private" title="Permalink to this definition">¶</a></dt>
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
306 <dd><p>Returns the <tt class="docutils literal"><span class="pre">private_obj</span></tt> passed to <a title="pymonkey.Context.new_object" class="reference" href="#pymonkey.Context.new_object"><tt class="xref docutils literal"><span class="pre">new_object()</span></tt></a>
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
307 when <cite>object</cite> was first created. If it doesn&#8217;t exist, <tt class="xref docutils literal"><span class="pre">None</span></tt>
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
308 is returned.</p>
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
309 <p>If <cite>object</cite> was created with <a title="pymonkey.Context.new_function" class="reference" href="#pymonkey.Context.new_function"><tt class="xref docutils literal"><span class="pre">new_function()</span></tt></a>, then this
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
310 method returns the Python callable wrapped by <cite>object</cite>.</p>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
311 <p>This functionality is useful if you want to securely represent
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
312 Python objects in JS-land.</p>
79
228a56e7e793 Added docs for context.get_object_private().
Atul Varma <varmaa@toolness.com>
parents: 78
diff changeset
313 </dd></dl>
58
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
314
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
315 <dl class="method">
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
316 <dt id="pymonkey.Context.clear_object_private">
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
317 <tt class="descname">clear_object_private</tt><big>(</big><em>object</em><big>)</big><a class="headerlink" href="#pymonkey.Context.clear_object_private" title="Permalink to this definition">¶</a></dt>
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
318 <dd><p>Clears the <tt class="docutils literal"><span class="pre">private_obj</span></tt> passed to <a title="pymonkey.Context.new_object" class="reference" href="#pymonkey.Context.new_object"><tt class="xref docutils literal"><span class="pre">new_object()</span></tt></a>
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
319 when <cite>object</cite> was first created. If it doesn&#8217;t exist, this
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
320 function returns nothing.</p>
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
321 <p>If <cite>object</cite> was created with <a title="pymonkey.Context.new_function" class="reference" href="#pymonkey.Context.new_function"><tt class="xref docutils literal"><span class="pre">new_function()</span></tt></a>, then this
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
322 method effectively &#8220;unbinds&#8221; the Python callable wrapped by
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
323 <cite>object</cite>. If <cite>object</cite> is later called, an exception will be
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
324 raised.</p>
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
325 </dd></dl>
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
326
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 79
diff changeset
327 <dl class="method">
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
328 <dt id="pymonkey.Context.evaluate_script">
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
329 <tt class="descname">evaluate_script</tt><big>(</big><em>globalobj</em>, <em>code</em>, <em>filename</em>, <em>lineno</em><big>)</big><a class="headerlink" href="#pymonkey.Context.evaluate_script" title="Permalink to this definition">¶</a></dt>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
330 <dd><p>Evaluates the text <cite>code</cite> using <cite>globalobj</cite> as the global
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
331 object/scope.</p>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
332 <p>It&#8217;s assumed that <cite>code</cite> is coming from the file named by <cite>filename</cite>;
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
333 the first line of <cite>code</cite> is assumed to be line number <cite>lineno</cite> of
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
334 <cite>filename</cite>. This metadata is very useful for debugging stack traces,
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
335 exceptions, and so forth.</p>
113
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
336 <p>For example:</p>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
337 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
338 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
339 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">init_standard_classes</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
340 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;5 * Math&#39;</span><span class="p">,</span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
341 <span class="go">nan</span>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
342 </pre></div>
e616b4605db0 Added doctest for evaluate_script().
Atul Varma <varmaa@toolness.com>
parents: 112
diff changeset
343 </div>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
344 </dd></dl>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
345
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
346 <dl class="method">
139
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
347 <dt id="pymonkey.Context.compile_script">
141
96dc1beefc00 Regenerated docs.
Atul Varma <varmaa@toolness.com>
parents: 139
diff changeset
348 <tt class="descname">compile_script</tt><big>(</big><em>code</em>, <em>filename</em>, <em>lineno</em><big>)</big><a class="headerlink" href="#pymonkey.Context.compile_script" title="Permalink to this definition">¶</a></dt>
139
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
349 <dd><p>Compiles the given string of code and returns a <a title="pymonkey.Script" class="reference" href="#pymonkey.Script"><tt class="xref docutils literal"><span class="pre">Script</span></tt></a>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
350 instance that can be executed via <a title="pymonkey.Context.execute_script" class="reference" href="#pymonkey.Context.execute_script"><tt class="xref docutils literal"><span class="pre">execute_script()</span></tt></a>.</p>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
351 <p><cite>filename</cite> and <cite>lineno</cite> are used just as in
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
352 <a title="pymonkey.Context.evaluate_script" class="reference" href="#pymonkey.Context.evaluate_script"><tt class="xref docutils literal"><span class="pre">evaluate_script()</span></tt></a>.</p>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
353 </dd></dl>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
354
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
355 <dl class="method">
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
356 <dt id="pymonkey.Context.execute_script">
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
357 <tt class="descname">execute_script</tt><big>(</big><em>globalobj</em>, <em>script</em><big>)</big><a class="headerlink" href="#pymonkey.Context.execute_script" title="Permalink to this definition">¶</a></dt>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
358 <dd><p>Executes the code in the given <a title="pymonkey.Script" class="reference" href="#pymonkey.Script"><tt class="xref docutils literal"><span class="pre">Script</span></tt></a> object, using
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
359 <cite>globalobj</cite> as the global object/scope, and returns the result.</p>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
360 <p>For example:</p>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
361 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
362 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
363 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">init_standard_classes</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
141
96dc1beefc00 Regenerated docs.
Atul Varma <varmaa@toolness.com>
parents: 139
diff changeset
364 <span class="gp">&gt;&gt;&gt; </span><span class="n">script</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">compile_script</span><span class="p">(</span><span class="s">&#39;5 * Math&#39;</span><span class="p">,</span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
139
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
365 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">execute_script</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">script</span><span class="p">)</span>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
366 <span class="go">nan</span>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
367 </pre></div>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
368 </div>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
369 </dd></dl>
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
370
d08cb5a06c66 Added docs for Script, compile_script() and execute_script().
Atul Varma <varmaa@toolness.com>
parents: 134
diff changeset
371 <dl class="method">
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
372 <dt id="pymonkey.Context.call_function">
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
373 <tt class="descname">call_function</tt><big>(</big><em>thisobj</em>, <em>func</em>, <em>args</em><big>)</big><a class="headerlink" href="#pymonkey.Context.call_function" title="Permalink to this definition">¶</a></dt>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
374 <dd><p>Calls a JavaScript function.</p>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
375 <p><cite>thisobj</cite> is an <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a> that will be used as the value
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
376 of <tt class="docutils literal"><span class="pre">this</span></tt> when the function executes, <cite>func</cite> is the
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
377 <a title="pymonkey.Function" class="reference" href="#pymonkey.Function"><tt class="xref docutils literal"><span class="pre">Function</span></tt></a> to execute, and <cite>args</cite> is a tuple of arguments
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
378 to pass to the function.</p>
112
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
379 <p>For instance:</p>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
380 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
381 <span class="gp">&gt;&gt;&gt; </span><span class="n">obj</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
382 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">init_standard_classes</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
383 <span class="gp">&gt;&gt;&gt; </span><span class="n">Math</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">&#39;Math&#39;</span><span class="p">)</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
384 <span class="gp">&gt;&gt;&gt; </span><span class="n">floor</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">Math</span><span class="p">,</span> <span class="s">&#39;floor&#39;</span><span class="p">)</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
385 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">call_function</span><span class="p">(</span><span class="n">Math</span><span class="p">,</span> <span class="n">floor</span><span class="p">,</span> <span class="p">(</span><span class="mf">5.3</span><span class="p">,))</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
386 <span class="go">5</span>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
387 </pre></div>
2086377c0abe Added doctest for call_function().
Atul Varma <varmaa@toolness.com>
parents: 111
diff changeset
388 </div>
90
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
389 </dd></dl>
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
390
c41f1d2e8f9d Added more docs.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
391 <dl class="method">
58
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
392 <dt id="pymonkey.Context.init_standard_classes">
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
393 <tt class="descname">init_standard_classes</tt><big>(</big><em>object</em><big>)</big><a class="headerlink" href="#pymonkey.Context.init_standard_classes" title="Permalink to this definition">¶</a></dt>
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
394 <dd>Defines the standard JavaScript classes on the given
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
395 <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a>, such as <tt class="docutils literal"><span class="pre">Array</span></tt>, <tt class="docutils literal"><span class="pre">eval</span></tt>, <tt class="docutils literal"><span class="pre">undefined</span></tt>, and
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
396 so forth. For more information, see the documentation to
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
397 <a class="reference" href="https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_InitStandardClasses">JS_InitStandardClasses()</a>,
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
398 which this method wraps.</dd></dl>
7a3461ccaf1d Added documentation for Context methods get_runtime(), new_object(), and init_standard_classes().
Atul Varma <varmaa@toolness.com>
parents: 57
diff changeset
399
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
400 <dl class="method">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
401 <dt id="pymonkey.Context.gc">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
402 <tt class="descname">gc</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Context.gc" title="Permalink to this definition">¶</a></dt>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
403 <dd>Performs garbage collection on the context&#8217;s JavaScript runtime.</dd></dl>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
404
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
405 <dl class="method">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
406 <dt id="pymonkey.Context.set_operation_callback">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
407 <tt class="descname">set_operation_callback</tt><big>(</big><em>func</em><big>)</big><a class="headerlink" href="#pymonkey.Context.set_operation_callback" title="Permalink to this definition">¶</a></dt>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
408 <dd><p>Sets the operation callback for the context to the given Python
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
409 callable. The callback can be triggered via
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
410 <a title="pymonkey.Context.trigger_operation_callback" class="reference" href="#pymonkey.Context.trigger_operation_callback"><tt class="xref docutils literal"><span class="pre">trigger_operation_callback()</span></tt></a>.</p>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
411 <p><cite>func</cite> takes one argument: the context that triggered it.</p>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
412 </dd></dl>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
413
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
414 <dl class="method">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
415 <dt id="pymonkey.Context.trigger_operation_callback">
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
416 <tt class="descname">trigger_operation_callback</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Context.trigger_operation_callback" title="Permalink to this definition">¶</a></dt>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
417 <dd><p>Triggers the context&#8217;s operation callback. If no callback has
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
418 yet been set, this function does nothing.</p>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
419 <p>This function is one of the few thread-safe functions available
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
420 to a JS runtime, and together with
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
421 <a title="pymonkey.Context.set_operation_callback" class="reference" href="#pymonkey.Context.set_operation_callback"><tt class="xref docutils literal"><span class="pre">set_operation_callback()</span></tt></a> can be used to abort the
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
422 execution of long-running code.</p>
116
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
423 <p>For instance, we first create an operation callback to stop
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
424 long-running code by throwing an exception:</p>
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
425 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">import</span> <span class="nn">time</span><span class="o">,</span> <span class="nn">threading</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
426 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
427 <span class="gp">&gt;&gt;&gt; </span><span class="k">def</span> <span class="nf">stop_running_code</span><span class="p">(</span><span class="n">cx</span><span class="p">):</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
428 <span class="gp">... </span> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">&#39;JS took too long to execute.&#39;</span><span class="p">)</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
429 <span class="gp">&gt;&gt;&gt; </span><span class="n">cx</span><span class="o">.</span><span class="n">set_operation_callback</span><span class="p">(</span><span class="n">stop_running_code</span><span class="p">)</span>
116
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
430 </pre></div>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
431 </div>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
432 <p>Then we create a watchdog thread to trigger the operation
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
433 callback once a long amount of time has passed:</p>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
434 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">def</span> <span class="nf">watchdog_thread</span><span class="p">():</span>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
435 <span class="gp">... </span> <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mf">0.1</span><span class="p">)</span> <span class="c"># An eternity to a computer!</span>
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
436 <span class="gp">... </span> <span class="n">cx</span><span class="o">.</span><span class="n">trigger_operation_callback</span><span class="p">()</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
437 <span class="gp">&gt;&gt;&gt; </span><span class="n">thread</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Thread</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="n">watchdog_thread</span><span class="p">)</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
438 <span class="gp">&gt;&gt;&gt; </span><span class="n">thread</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
116
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
439 </pre></div>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
440 </div>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
441 <p>Now, when we execute code that takes too long to run, it gets
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
442 aborted:</p>
06269ca0b36c Made the operation callback doctest easier to read.
Atul Varma <varmaa@toolness.com>
parents: 115
diff changeset
443 <div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">try</span><span class="p">:</span>
115
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
444 <span class="gp">... </span> <span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">(),</span> <span class="s">&#39;while (1) {}&#39;</span><span class="p">,</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
445 <span class="gp">... </span> <span class="s">&#39;&lt;string&gt;&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
446 <span class="gp">... </span><span class="k">except</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">error</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
447 <span class="gp">... </span> <span class="k">print</span> <span class="n">cx</span><span class="o">.</span><span class="n">get_object_private</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="mf">0</span><span class="p">])</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
448 <span class="go">JS took too long to execute.</span>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
449 </pre></div>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
450 </div>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
451 </dd></dl>
f4c550369332 Added documentation for gc() and operation callback functions.
Atul Varma <varmaa@toolness.com>
parents: 114
diff changeset
452
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
453 </dd></dl>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
454
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
455 <dl class="class">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
456 <dt id="pymonkey.Runtime">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
457 <em class="property">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
458 class </em><tt class="descclassname">pymonkey.</tt><tt class="descname">Runtime</tt><a class="headerlink" href="#pymonkey.Runtime" title="Permalink to this definition">¶</a></dt>
53
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
459 <dd><p>Creates a new JavaScript runtime. JS objects created by the runtime
2055d853b995 Added docs for pymonkey.Object.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
460 may only interact with other JS objects of the same runtime.</p>
119
d30576edf797 Added notes on thread safety to documentation.
Atul Varma <varmaa@toolness.com>
parents: 116
diff changeset
461 <p>With few exceptions, objects belonging to a runtime can currently
d30576edf797 Added notes on thread safety to documentation.
Atul Varma <varmaa@toolness.com>
parents: 116
diff changeset
462 only be used in the same thread that the runtime was created
d30576edf797 Added notes on thread safety to documentation.
Atul Varma <varmaa@toolness.com>
parents: 116
diff changeset
463 in. This may be changed in the future, since SpiderMonkey itself
d30576edf797 Added notes on thread safety to documentation.
Atul Varma <varmaa@toolness.com>
parents: 116
diff changeset
464 has support for thread safety.</p>
130
4705522c7431 Added notes about weak-referencability to docs.
Atul Varma <varmaa@toolness.com>
parents: 119
diff changeset
465 <p>JS runtimes are weak-referencable.</p>
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
466 <dl class="method">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
467 <dt id="pymonkey.Runtime.new_context">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
468 <tt class="descname">new_context</tt><big>(</big><big>)</big><a class="headerlink" href="#pymonkey.Runtime.new_context" title="Permalink to this definition">¶</a></dt>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
469 <dd>Creates a new Context object and returns it. Contexts are best
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
470 conceptualized as threads of execution in a JS runtme; each one
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
471 has a program counter, a current exception state, and so
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
472 forth. JS objects may be freely accessed and changed by contexts
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
473 that are associated with the same JS runtime as the objects.</dd></dl>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
474
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
475 </dd></dl>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
476
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
477 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
478
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
479
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
480 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
481 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
482 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
483 <div class="sphinxsidebar">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
484 <div class="sphinxsidebarwrapper">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
485 <h4>Previous topic</h4>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
486 <p class="topless"><a href="index.html"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
487 title="previous chapter">Pymonkey Documentation</a></p>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
488 <h3>This Page</h3>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
489 <ul class="this-page-menu">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
490 <li><a href="_sources/pymonkey.txt"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
491 rel="nofollow">Show Source</a></li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
492 </ul>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
493 <div id="searchbox" style="display: none">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
494 <h3>Quick search</h3>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
495 <form class="search" action="search.html" method="get">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
496 <input type="text" name="q" size="18" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
497 <input type="submit" value="Go" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
498 <input type="hidden" name="check_keywords" value="yes" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
499 <input type="hidden" name="area" value="default" />
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
500 </form>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
501 <p class="searchtip" style="font-size: 90%">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
502 Enter search terms or a module, class or function name.
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
503 </p>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
504 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
505 <script type="text/javascript">$('#searchbox').show(0);</script>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
506 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
507 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
508 <div class="clearer"></div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
509 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
510 <div class="related">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
511 <h3>Navigation</h3>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
512 <ul>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
513 <li class="right" style="margin-right: 10px">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
514 <a href="genindex.html" title="General Index"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
515 >index</a></li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
516 <li class="right" >
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
517 <a href="modindex.html" title="Global Module Index"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
518 >modules</a> |</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
519 <li class="right" >
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
520 <a href="index.html" title="Pymonkey Documentation"
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
521 >previous</a> |</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
522 <li><a href="index.html">Pymonkey v0.0.1 documentation</a> &raquo;</li>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
523 </ul>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
524 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
525 <div class="footer">
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
526 &copy; Copyright 2009, Atul Varma.
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
527 Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
528 </div>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
529 </body>
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
530 </html>