blob: 6dc57e75ada0568e5061fcf1bc61d3a261836cb5 [file] [log] [blame]
adminbae64d82013-08-01 10:50:15 -07001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>TestON.core.teston.TestON</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17 <!-- Home link -->
18 <th>&nbsp;&nbsp;&nbsp;<a
19 href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21 <!-- Tree link -->
22 <th>&nbsp;&nbsp;&nbsp;<a
23 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25 <!-- Index link -->
26 <th>&nbsp;&nbsp;&nbsp;<a
27 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29 <!-- Help link -->
30 <th>&nbsp;&nbsp;&nbsp;<a
31 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
Jon Halla1cdd892015-08-10 13:36:28 -070033 <!-- Project homepage -->
34 <th class="navbar" align="right" width="100%">
35 <table border="0" cellpadding="0" cellspacing="0">
36 <tr><th class="navbar" align="center"
37 >TestON</th>
38 </tr></table></th>
adminbae64d82013-08-01 10:50:15 -070039 </tr>
40</table>
41<table width="100%" cellpadding="0" cellspacing="0">
42 <tr valign="top">
43 <td width="100%">
44 <span class="breadcrumbs">
45 <a href="TestON-module.html">Package&nbsp;TestON</a> ::
46 <a href="TestON.core-module.html">Package&nbsp;core</a> ::
47 <a href="TestON.core.teston-module.html">Module&nbsp;teston</a> ::
48 Class&nbsp;TestON
49 </span>
50 </td>
51 <td>
52 <table cellpadding="0" cellspacing="0">
53 <!-- hide/show private -->
54 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
55 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
56 <tr><td align="right"><span class="options"
57 >[<a href="frames.html" target="_top">frames</a
58 >]&nbsp;|&nbsp;<a href="TestON.core.teston.TestON-class.html"
59 target="_top">no&nbsp;frames</a>]</span></td></tr>
60 </table>
61 </td>
62 </tr>
63</table>
64<!-- ==================== CLASS DESCRIPTION ==================== -->
65<h1 class="epydoc">Class TestON</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON">source&nbsp;code</a></span></p>
66<p>TestON will initiate the specified test. The main tasks are : *
67 Initiate the required Component handles for the test. * Create Log file
68 Handles.</p>
69
70<!-- ==================== INSTANCE METHODS ==================== -->
71<a name="section-InstanceMethods"></a>
72<table class="summary" border="1" cellpadding="3"
73 cellspacing="0" width="100%" bgcolor="white">
74<tr bgcolor="#70b0f0" class="table-header">
75 <td colspan="2" class="table-header">
76 <table border="0" cellpadding="0" cellspacing="0" width="100%">
77 <tr valign="top">
78 <td align="left"><span class="table-header">Instance Methods</span></td>
79 <td align="right" valign="top"
80 ><span class="options">[<a href="#section-InstanceMethods"
81 class="privatelink" onclick="toggle_private();"
82 >hide private</a>]</span></td>
83 </tr>
84 </table>
85 </td>
86</tr>
87<tr>
88 <td width="15%" align="right" valign="top" class="summary">
89 <span class="summary-type">&nbsp;</span>
90 </td><td class="summary">
91 <table width="100%" cellpadding="0" cellspacing="0" border="0">
92 <tr>
93 <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
94 <span class="summary-sig-arg">options</span>)</span><br />
95 Initialise the component handles specified in the topology file of
96 the specified test.</td>
97 <td align="right" valign="top">
98 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.__init__">source&nbsp;code</a></span>
99
100 </td>
101 </tr>
102 </table>
103
104 </td>
105 </tr>
106<tr>
107 <td width="15%" align="right" valign="top" class="summary">
108 <span class="summary-type">&nbsp;</span>
109 </td><td class="summary">
110 <table width="100%" cellpadding="0" cellspacing="0" border="0">
111 <tr>
112 <td><span class="summary-sig"><a name="configparser"></a><span class="summary-sig-name">configparser</span>(<span class="summary-sig-arg">self</span>)</span><br />
Jon Halla1cdd892015-08-10 13:36:28 -0700113 It will parse the config file (teston.cfg) and return as dictionary</td>
adminbae64d82013-08-01 10:50:15 -0700114 <td align="right" valign="top">
115 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.configparser">source&nbsp;code</a></span>
116
117 </td>
118 </tr>
119 </table>
120
121 </td>
122 </tr>
123<tr>
124 <td width="15%" align="right" valign="top" class="summary">
125 <span class="summary-type">&nbsp;</span>
126 </td><td class="summary">
127 <table width="100%" cellpadding="0" cellspacing="0" border="0">
128 <tr>
129 <td><span class="summary-sig"><a name="componentInit"></a><span class="summary-sig-name">componentInit</span>(<span class="summary-sig-arg">self</span>,
130 <span class="summary-sig-arg">component</span>)</span><br />
131 This method will initialize specified component</td>
132 <td align="right" valign="top">
133 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.componentInit">source&nbsp;code</a></span>
134
135 </td>
136 </tr>
137 </table>
138
139 </td>
140 </tr>
141<tr>
142 <td width="15%" align="right" valign="top" class="summary">
143 <span class="summary-type">&nbsp;</span>
144 </td><td class="summary">
145 <table width="100%" cellpadding="0" cellspacing="0" border="0">
146 <tr>
147 <td><span class="summary-sig"><a href="TestON.core.teston.TestON-class.html#run" class="summary-sig-name">run</a>(<span class="summary-sig-arg">self</span>)</span><br />
148 The Execution of the test script's cases listed in the Test params
149 file will be done here.</td>
150 <td align="right" valign="top">
151 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.run">source&nbsp;code</a></span>
152
153 </td>
154 </tr>
155 </table>
156
157 </td>
158 </tr>
159<tr>
160 <td width="15%" align="right" valign="top" class="summary">
161 <span class="summary-type">&nbsp;</span>
162 </td><td class="summary">
163 <table width="100%" cellpadding="0" cellspacing="0" border="0">
164 <tr>
165 <td><span class="summary-sig"><a name="runCase"></a><span class="summary-sig-name">runCase</span>(<span class="summary-sig-arg">self</span>,
166 <span class="summary-sig-arg">testCaseNumber</span>)</span></td>
167 <td align="right" valign="top">
168 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.runCase">source&nbsp;code</a></span>
169
170 </td>
171 </tr>
172 </table>
173
174 </td>
175 </tr>
176<tr>
177 <td width="15%" align="right" valign="top" class="summary">
178 <span class="summary-type">&nbsp;</span>
179 </td><td class="summary">
180 <table width="100%" cellpadding="0" cellspacing="0" border="0">
181 <tr>
182 <td><span class="summary-sig"><a name="runStep"></a><span class="summary-sig-name">runStep</span>(<span class="summary-sig-arg">self</span>,
183 <span class="summary-sig-arg">stepList</span>,
184 <span class="summary-sig-arg">code</span>,
185 <span class="summary-sig-arg">testCaseNumber</span>)</span></td>
186 <td align="right" valign="top">
187 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.runStep">source&nbsp;code</a></span>
188
189 </td>
190 </tr>
191 </table>
192
193 </td>
194 </tr>
195<tr>
196 <td width="15%" align="right" valign="top" class="summary">
197 <span class="summary-type">&nbsp;</span>
198 </td><td class="summary">
199 <table width="100%" cellpadding="0" cellspacing="0" border="0">
200 <tr>
201 <td><span class="summary-sig"><a name="addCaseHeader"></a><span class="summary-sig-name">addCaseHeader</span>(<span class="summary-sig-arg">self</span>)</span></td>
202 <td align="right" valign="top">
203 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.addCaseHeader">source&nbsp;code</a></span>
204
205 </td>
206 </tr>
207 </table>
208
209 </td>
210 </tr>
211<tr>
212 <td width="15%" align="right" valign="top" class="summary">
213 <span class="summary-type">&nbsp;</span>
214 </td><td class="summary">
215 <table width="100%" cellpadding="0" cellspacing="0" border="0">
216 <tr>
217 <td><span class="summary-sig"><a name="addCaseFooter"></a><span class="summary-sig-name">addCaseFooter</span>(<span class="summary-sig-arg">self</span>)</span></td>
218 <td align="right" valign="top">
219 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.addCaseFooter">source&nbsp;code</a></span>
220
221 </td>
222 </tr>
223 </table>
224
225 </td>
226 </tr>
227<tr>
228 <td width="15%" align="right" valign="top" class="summary">
229 <span class="summary-type">&nbsp;</span>
230 </td><td class="summary">
231 <table width="100%" cellpadding="0" cellspacing="0" border="0">
232 <tr>
233 <td><span class="summary-sig"><a href="TestON.core.teston.TestON-class.html#cleanup" class="summary-sig-name">cleanup</a>(<span class="summary-sig-arg">self</span>)</span><br />
Jon Halla1cdd892015-08-10 13:36:28 -0700234 Print a summary of the current test's results then attempt to release
235 all the component handles and the close opened file handles.</td>
adminbae64d82013-08-01 10:50:15 -0700236 <td align="right" valign="top">
237 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.cleanup">source&nbsp;code</a></span>
238
239 </td>
240 </tr>
241 </table>
242
243 </td>
244 </tr>
245<tr>
246 <td width="15%" align="right" valign="top" class="summary">
247 <span class="summary-type">&nbsp;</span>
248 </td><td class="summary">
249 <table width="100%" cellpadding="0" cellspacing="0" border="0">
250 <tr>
251 <td><span class="summary-sig"><a name="pause"></a><span class="summary-sig-name">pause</span>(<span class="summary-sig-arg">self</span>)</span><br />
252 This function will pause the test's execution, and will continue
253 after user provide 'resume' command.</td>
254 <td align="right" valign="top">
255 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.pause">source&nbsp;code</a></span>
256
257 </td>
258 </tr>
259 </table>
260
261 </td>
262 </tr>
263<tr>
264 <td width="15%" align="right" valign="top" class="summary">
265 <span class="summary-type">&nbsp;</span>
266 </td><td class="summary">
267 <table width="100%" cellpadding="0" cellspacing="0" border="0">
268 <tr>
269 <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>,
270 <span class="summary-sig-arg">*components</span>)</span><br />
271 When test step failed, calling all the components onfail.</td>
272 <td align="right" valign="top">
273 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.onfail">source&nbsp;code</a></span>
274
275 </td>
276 </tr>
277 </table>
278
279 </td>
280 </tr>
281<tr>
282 <td width="15%" align="right" valign="top" class="summary">
283 <span class="summary-type">&nbsp;</span>
284 </td><td class="summary">
285 <table width="100%" cellpadding="0" cellspacing="0" border="0">
286 <tr>
287 <td><span class="summary-sig"><a name="getDriverPath"></a><span class="summary-sig-name">getDriverPath</span>(<span class="summary-sig-arg">self</span>,
288 <span class="summary-sig-arg">driverName</span>)</span><br />
289 Based on the component 'type' specified in the params , this method
290 will find the absolute path , by recursively searching the name of
291 the component.</td>
292 <td align="right" valign="top">
293 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.getDriverPath">source&nbsp;code</a></span>
294
295 </td>
296 </tr>
297 </table>
298
299 </td>
300 </tr>
301<tr>
302 <td width="15%" align="right" valign="top" class="summary">
303 <span class="summary-type">&nbsp;</span>
304 </td><td class="summary">
305 <table width="100%" cellpadding="0" cellspacing="0" border="0">
306 <tr>
307 <td><span class="summary-sig"><a name="step"></a><span class="summary-sig-name">step</span>(<span class="summary-sig-arg">self</span>,
308 <span class="summary-sig-arg">stepDesc</span>)</span><br />
309 The step information of the test-case will append to the logs.</td>
310 <td align="right" valign="top">
311 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.step">source&nbsp;code</a></span>
312
313 </td>
314 </tr>
315 </table>
316
317 </td>
318 </tr>
319<tr>
320 <td width="15%" align="right" valign="top" class="summary">
321 <span class="summary-type">&nbsp;</span>
322 </td><td class="summary">
323 <table width="100%" cellpadding="0" cellspacing="0" border="0">
324 <tr>
325 <td><span class="summary-sig"><a name="case"></a><span class="summary-sig-name">case</span>(<span class="summary-sig-arg">self</span>,
326 <span class="summary-sig-arg">testCaseName</span>)</span><br />
327 Test's each test-case information will append to the logs.</td>
328 <td align="right" valign="top">
329 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.case">source&nbsp;code</a></span>
330
331 </td>
332 </tr>
333 </table>
334
335 </td>
336 </tr>
337<tr>
338 <td width="15%" align="right" valign="top" class="summary">
339 <span class="summary-type">&nbsp;</span>
340 </td><td class="summary">
341 <table width="100%" cellpadding="0" cellspacing="0" border="0">
342 <tr>
343 <td><span class="summary-sig"><a name="testDesc"></a><span class="summary-sig-name">testDesc</span>(<span class="summary-sig-arg">self</span>,
344 <span class="summary-sig-arg">description</span>)</span><br />
345 Test description will append to the logs.</td>
346 <td align="right" valign="top">
347 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.testDesc">source&nbsp;code</a></span>
348
349 </td>
350 </tr>
351 </table>
352
353 </td>
354 </tr>
355<tr class="private">
356 <td width="15%" align="right" valign="top" class="summary">
357 <span class="summary-type">&nbsp;</span>
358 </td><td class="summary">
359 <table width="100%" cellpadding="0" cellspacing="0" border="0">
360 <tr>
361 <td><span class="summary-sig"><a name="_getTest"></a><span class="summary-sig-name">_getTest</span>(<span class="summary-sig-arg">self</span>)</span><br />
362 This method will parse the test script to find required test
363 information.</td>
364 <td align="right" valign="top">
365 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON._getTest">source&nbsp;code</a></span>
366
367 </td>
368 </tr>
369 </table>
370
371 </td>
372 </tr>
373<tr>
374 <td width="15%" align="right" valign="top" class="summary">
375 <span class="summary-type">&nbsp;</span>
376 </td><td class="summary">
377 <table width="100%" cellpadding="0" cellspacing="0" border="0">
378 <tr>
Jon Halla1cdd892015-08-10 13:36:28 -0700379 <td><span class="summary-sig"><a name="response_parser"></a><span class="summary-sig-name">response_parser</span>(<span class="summary-sig-arg">self</span>,
380 <span class="summary-sig-arg">response</span>,
381 <span class="summary-sig-arg">return_format</span>)</span><br />
382 It will load the default response parser</td>
383 <td align="right" valign="top">
384 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.response_parser">source&nbsp;code</a></span>
385
386 </td>
387 </tr>
388 </table>
389
390 </td>
391 </tr>
392<tr>
393 <td width="15%" align="right" valign="top" class="summary">
394 <span class="summary-type">&nbsp;</span>
395 </td><td class="summary">
396 <table width="100%" cellpadding="0" cellspacing="0" border="0">
397 <tr>
398 <td><span class="summary-sig"><a name="response_to_dict"></a><span class="summary-sig-name">response_to_dict</span>(<span class="summary-sig-arg">self</span>,
399 <span class="summary-sig-arg">response</span>,
400 <span class="summary-sig-arg">return_format</span>)</span></td>
401 <td align="right" valign="top">
402 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.response_to_dict">source&nbsp;code</a></span>
403
404 </td>
405 </tr>
406 </table>
407
408 </td>
409 </tr>
410<tr>
411 <td width="15%" align="right" valign="top" class="summary">
412 <span class="summary-type">&nbsp;</span>
413 </td><td class="summary">
414 <table width="100%" cellpadding="0" cellspacing="0" border="0">
415 <tr>
416 <td><span class="summary-sig"><a name="dict_to_return_format"></a><span class="summary-sig-name">dict_to_return_format</span>(<span class="summary-sig-arg">self</span>,
417 <span class="summary-sig-arg">response</span>,
418 <span class="summary-sig-arg">return_format</span>,
419 <span class="summary-sig-arg">response_dict</span>)</span></td>
420 <td align="right" valign="top">
421 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.dict_to_return_format">source&nbsp;code</a></span>
422
423 </td>
424 </tr>
425 </table>
426
427 </td>
428 </tr>
429<tr>
430 <td width="15%" align="right" valign="top" class="summary">
431 <span class="summary-type">&nbsp;</span>
432 </td><td class="summary">
433 <table width="100%" cellpadding="0" cellspacing="0" border="0">
434 <tr>
435 <td><span class="summary-sig"><a name="get_random"></a><span class="summary-sig-name">get_random</span>(<span class="summary-sig-arg">self</span>)</span></td>
436 <td align="right" valign="top">
437 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.get_random">source&nbsp;code</a></span>
438
439 </td>
440 </tr>
441 </table>
442
443 </td>
444 </tr>
445<tr>
446 <td width="15%" align="right" valign="top" class="summary">
447 <span class="summary-type">&nbsp;</span>
448 </td><td class="summary">
449 <table width="100%" cellpadding="0" cellspacing="0" border="0">
450 <tr>
adminbae64d82013-08-01 10:50:15 -0700451 <td><span class="summary-sig"><a name="exit"></a><span class="summary-sig-name">exit</span>(<span class="summary-sig-arg">self</span>)</span></td>
452 <td align="right" valign="top">
453 <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.exit">source&nbsp;code</a></span>
454
455 </td>
456 </tr>
457 </table>
458
459 </td>
460 </tr>
461</table>
462<!-- ==================== METHOD DETAILS ==================== -->
463<a name="section-MethodDetails"></a>
464<table class="details" border="1" cellpadding="3"
465 cellspacing="0" width="100%" bgcolor="white">
466<tr bgcolor="#70b0f0" class="table-header">
467 <td colspan="2" class="table-header">
468 <table border="0" cellpadding="0" cellspacing="0" width="100%">
469 <tr valign="top">
470 <td align="left"><span class="table-header">Method Details</span></td>
471 <td align="right" valign="top"
472 ><span class="options">[<a href="#section-MethodDetails"
473 class="privatelink" onclick="toggle_private();"
474 >hide private</a>]</span></td>
475 </tr>
476 </table>
477 </td>
478</tr>
479</table>
480<a name="run"></a>
481<div>
482<table class="details" border="1" cellpadding="3"
483 cellspacing="0" width="100%" bgcolor="white">
484<tr><td>
485 <table width="100%" cellpadding="0" cellspacing="0" border="0">
486 <tr valign="top"><td>
487 <h3 class="epydoc"><span class="sig"><span class="sig-name">run</span>(<span class="sig-arg">self</span>)</span>
488 </h3>
489 </td><td align="right" valign="top"
490 ><span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.run">source&nbsp;code</a></span>&nbsp;
491 </td>
492 </tr></table>
493
494 <p>The Execution of the test script's cases listed in the Test params
495 file will be done here. And Update each test case result. This method
496 will return TRUE if it executed all the test cases successfully, else
497 will retun FALSE</p>
498 <dl class="fields">
499 </dl>
500</td></tr></table>
501</div>
502<a name="cleanup"></a>
503<div>
504<table class="details" border="1" cellpadding="3"
505 cellspacing="0" width="100%" bgcolor="white">
506<tr><td>
507 <table width="100%" cellpadding="0" cellspacing="0" border="0">
508 <tr valign="top"><td>
509 <h3 class="epydoc"><span class="sig"><span class="sig-name">cleanup</span>(<span class="sig-arg">self</span>)</span>
510 </h3>
511 </td><td align="right" valign="top"
512 ><span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.cleanup">source&nbsp;code</a></span>&nbsp;
513 </td>
514 </tr></table>
515
Jon Halla1cdd892015-08-10 13:36:28 -0700516 <p>Print a summary of the current test's results then attempt to release
517 all the component handles and the close opened file handles.</p>
518 <p>This function shouldbe threadsafe such that cleanup will only be
519 executed once per test.</p>
520 <p>This will return TRUE if all the component handles and log handles
521 closed properly, else return FALSE.</p>
adminbae64d82013-08-01 10:50:15 -0700522 <dl class="fields">
523 </dl>
524</td></tr></table>
525</div>
526<br />
527<!-- ==================== NAVIGATION BAR ==================== -->
528<table class="navbar" border="0" width="100%" cellpadding="0"
529 bgcolor="#a0c0ff" cellspacing="0">
530 <tr valign="middle">
531 <!-- Home link -->
532 <th>&nbsp;&nbsp;&nbsp;<a
533 href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
534
535 <!-- Tree link -->
536 <th>&nbsp;&nbsp;&nbsp;<a
537 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
538
539 <!-- Index link -->
540 <th>&nbsp;&nbsp;&nbsp;<a
541 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
542
543 <!-- Help link -->
544 <th>&nbsp;&nbsp;&nbsp;<a
545 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
546
Jon Halla1cdd892015-08-10 13:36:28 -0700547 <!-- Project homepage -->
548 <th class="navbar" align="right" width="100%">
549 <table border="0" cellpadding="0" cellspacing="0">
550 <tr><th class="navbar" align="center"
551 >TestON</th>
552 </tr></table></th>
adminbae64d82013-08-01 10:50:15 -0700553 </tr>
554</table>
555<table border="0" cellpadding="0" cellspacing="0" width="100%%">
556 <tr>
557 <td align="left" class="footer">
Jon Halla1cdd892015-08-10 13:36:28 -0700558 Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
adminbae64d82013-08-01 10:50:15 -0700559 </td>
560 <td align="right" class="footer">
561 <a target="mainFrame" href="http://epydoc.sourceforge.net"
562 >http://epydoc.sourceforge.net</a>
563 </td>
564 </tr>
565</table>
566
567<script type="text/javascript">
568 <!--
569 // Private objects are initially displayed (because if
570 // javascript is turned off then we want them to be
571 // visible); but by default, we want to hide them. So hide
572 // them unless we have a cookie that says to show them.
573 checkCookie();
574 // -->
575</script>
576</body>
577</html>