Bug 1661: Improve build speed with better caching strategy
Changed the way that the cache is located, so the same code can run on any build machine without any configuration.
Made work around for Bug 419 the only option, as we're not using the alternative anyway, and I don't want to commit completely untested code!
Changed caching algorithm, to improve build times.
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ccm.Folder</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="ccm-module.html">Package ccm</a> ::
Class Folder
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>] | <a href="ccm.Folder-class.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Folder</h1><span class="codelink"><a href="ccm-pysrc.html#Folder">source code</a></span><br /><br />
<pre class="base-tree">
object --+
|
<a href="ccm.FourPartName-class.html">FourPartName</a> --+
|
<a href="ccm.CCMObject-class.html">CCMObject</a> --+
|
<strong class="uidshort">Folder</strong>
</pre>
<hr />
Wrapper class for Synergy folder object<br /><br />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="ccm.Folder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">session</span>,
<span class="summary-sig-arg">fpn</span>)</span><br />
Create a FourPartName object based on a ifpn string.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.__init__">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_gettasks"></a><span class="summary-sig-name">_gettasks</span>(<span class="summary-sig-arg">self</span>)</span><br />
Accessor for 'tasks' property.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder._gettasks">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_getobjects"></a><span class="summary-sig-name">_getobjects</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder._getobjects">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_getmode"></a><span class="summary-sig-name">_getmode</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the mode used by the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder._getmode">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_getquery"></a><span class="summary-sig-name">_getquery</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the query that populate the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder._getquery">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_getdescription"></a><span class="summary-sig-name">_getdescription</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the description associated with the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder._getdescription">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="remove"></a><span class="summary-sig-name">remove</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">task</span>)</span><br />
Remove task from this folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.remove">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="update"></a><span class="summary-sig-name">update</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.update">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="append"></a><span class="summary-sig-name">append</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">task</span>)</span><br />
Associate an object to a task</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.append">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="ccm.Folder-class.html#copy" class="summary-sig-name">copy</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">existing_folder</span>)</span><br />
Copy the contents of existing_folder into this folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.copy">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="objects"></a><span class="summary-sig-name">objects</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.objects">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="tasks"></a><span class="summary-sig-name">tasks</span>(<span class="summary-sig-arg">self</span>)</span><br />
Accessor for 'tasks' property.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.tasks">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="mode"></a><span class="summary-sig-name">mode</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the mode used by the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.mode">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="query"></a><span class="summary-sig-name">query</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the query that populate the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.query">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span><br />
Get the description associated with the folder.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ccm-pysrc.html#Folder.description">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="ccm.CCMObject-class.html">CCMObject</a></code></b>:
<code><a href="ccm.CCMObject-class.html#__getitem__">__getitem__</a></code>,
<code><a href="ccm.CCMObject-class.html#__setitem__">__setitem__</a></code>,
<code><a href="ccm.CCMObject-class.html#create_attribute">create_attribute</a></code>,
<code><a href="ccm.CCMObject-class.html#exists">exists</a></code>,
<code><a href="ccm.CCMObject-class.html#finduse">finduse</a></code>,
<code><a href="ccm.CCMObject-class.html#is_predecessor_of">is_predecessor_of</a></code>,
<code><a href="ccm.CCMObject-class.html#is_recursive_predecessor_of">is_recursive_predecessor_of</a></code>,
<code><a href="ccm.CCMObject-class.html#is_recursive_predecessor_of_fast">is_recursive_predecessor_of_fast</a></code>,
<code><a href="ccm.CCMObject-class.html#is_recursive_successor_of_fast">is_recursive_successor_of_fast</a></code>,
<code><a href="ccm.CCMObject-class.html#is_recursive_sucessor_of">is_recursive_sucessor_of</a></code>,
<code><a href="ccm.CCMObject-class.html#keys">keys</a></code>,
<code><a href="ccm.CCMObject-class.html#predecessors">predecessors</a></code>,
<code><a href="ccm.CCMObject-class.html#relate">relate</a></code>,
<code><a href="ccm.CCMObject-class.html#session">session</a></code>,
<code><a href="ccm.CCMObject-class.html#successors">successors</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="ccm.CCMObject-class.html">CCMObject</a></code></b> (private):
<code><a href="ccm.CCMObject-class.html#_getsession">_getsession</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="ccm.FourPartName-class.html">FourPartName</a></code></b>:
<code><a href="ccm.FourPartName-class.html#__eq__">__eq__</a></code>,
<code><a href="ccm.FourPartName-class.html#__ne__">__ne__</a></code>,
<code><a href="ccm.FourPartName-class.html#__repr__">__repr__</a></code>,
<code><a href="ccm.FourPartName-class.html#__str__">__str__</a></code>,
<code><a href="ccm.FourPartName-class.html#family">family</a></code>,
<code><a href="ccm.FourPartName-class.html#instance">instance</a></code>,
<code><a href="ccm.FourPartName-class.html#is_same_family">is_same_family</a></code>,
<code><a href="ccm.FourPartName-class.html#name">name</a></code>,
<code><a href="ccm.FourPartName-class.html#objectname">objectname</a></code>,
<code><a href="ccm.FourPartName-class.html#type">type</a></code>,
<code><a href="ccm.FourPartName-class.html#version">version</a></code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__setattr__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== STATIC METHODS ==================== -->
<a name="section-StaticMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Static Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-StaticMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="ccm.FourPartName-class.html">FourPartName</a></code></b>:
<code><a href="ccm.FourPartName-class.html#convert">convert</a></code>,
<code><a href="ccm.FourPartName-class.html#is_valid">is_valid</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<a name="is_query_based"></a><span class="summary-name">is_query_based</span> = <code title="property(lambda x: x.mode.lower()== "query")">property(lambda x: x.mode.lower()== "query")</code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">session</span>,
<span class="sig-arg">fpn</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="ccm-pysrc.html#Folder.__init__">source code</a></span>
</td>
</table>
<p>Create a FourPartName object based on a ifpn string.</p>
<p>The string have to match the following patterns:
- name-version:type:instance
- name:version:releasedef:instance
- Task database#id
- Folder database#id</p>
<p>Anything else is considered as old release string format.</p>
<dl class="fields">
<dt>Overrides:
<a href="ccm.CCMObject-class.html#__init__">CCMObject.__init__</a>
</dt>
</dl>
</td></tr></table>
</div>
<a name="copy"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">existing_folder</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="ccm-pysrc.html#Folder.copy">source code</a></span>
</td>
</table>
<p>Copy the contents of existing_folder into this folder.</p>
<p>This appends to the destination folder by default.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>existing_folder</code></strong> - The destination Folder object.</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0beta1 on Wed Sep 09 13:44:17 2009
</td>
<td align="right" class="footer">
<a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie()
// -->
</script>
</body>
</html>