1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
2) Remove smoketest from sources.csv and into sources_test.csv. This enables a fully resolved csv file to be fed directly back into a platform build.
<?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>escapeddict</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">
Module escapeddict
</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="escapeddict-pysrc.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="escapeddict-module.html">Module escapeddict</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#============================================================================ </tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Name : escapeddict.py </tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Part of : Helium </tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment">#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#All rights reserved.</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#This component and the accompanying materials are made available</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#under the terms of the License "Eclipse Public License v1.0"</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#which accompanies this distribution, and is available</tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#at the URL "http://www.eclipse.org/legal/epl-v10.html".</tt> </tt>
<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Initial Contributors:</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Nokia Corporation - initial contribution.</tt> </tt>
<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Contributors:</tt> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Description:</tt> </tt>
<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#===============================================================================</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-docstring">""" This class enables developer to use ${xxx} pattern in their dict and </tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-docstring"> get them replaced recursively.</tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">UserDict</tt> </tt>
<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> </tt>
<a name="_CustomArray"></a><div id="_CustomArray-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="_CustomArray-toggle" onclick="return toggle('_CustomArray');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="escapeddict._CustomArray-class.html">_CustomArray</a><tt class="py-op">(</tt><tt class="py-base-class">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_CustomArray-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="_CustomArray-expanded"><a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-docstring">""" Internal class</tt> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="_CustomArray.__str__"></a><div id="_CustomArray.__str__-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="_CustomArray.__str__-toggle" onclick="return toggle('_CustomArray.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="escapeddict._CustomArray-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_CustomArray.__str__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="_CustomArray.__str__-expanded"><a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> </tt>
<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-name">string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">elem</tt> </tt>
<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">string</tt> </tt>
</div></div><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> </tt>
<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
<a name="EscapedDict"></a><div id="EscapedDict-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="EscapedDict-toggle" onclick="return toggle('EscapedDict');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="escapeddict.EscapedDict-class.html">EscapedDict</a><tt class="py-op">(</tt><tt class="py-base-class">UserDict</tt><tt class="py-op">.</tt><tt class="py-base-class">UserDict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="EscapedDict-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="EscapedDict-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-docstring">""" Implements a dictionary that escapes the key values recursively. """</tt> </tt>
<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
<a name="EscapedDict.__init__"></a><div id="EscapedDict.__init__-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="EscapedDict.__init__-toggle" onclick="return toggle('EscapedDict.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="escapeddict.EscapedDict-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dict</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-param">failonerror</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="EscapedDict.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EscapedDict.__init__-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">UserDict</tt><tt class="py-op">.</tt><tt class="py-name">UserDict</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method ant.AntHandler.__init__()=ant.AntHandler-class.html#__init__,Method archive.builders.ArchivePreBuilder.__init__()=archive.builders.ArchivePreBuilder-class.html#__init__,Method archive.mappers.DefaultMapper.__init__()=archive.mappers.DefaultMapper-class.html#__init__,Method archive.mappers.EPLPolicyRemoverMapper.__init__()=archive.mappers.EPLPolicyRemoverMapper-class.html#__init__,Method archive.mappers.Mapper.__init__()=archive.mappers.Mapper-class.html#__init__,Method archive.mappers.PolicyMapper.__init__()=archive.mappers.PolicyMapper-class.html#__init__,Method archive.mappers.PolicyRemoverMapper.__init__()=archive.mappers.PolicyRemoverMapper-class.html#__init__,Method archive.mappers.SFPolicyRemoverMapper.__init__()=archive.mappers.SFPolicyRemoverMapper-class.html#__init__,Method archive.scanners.AbldWhatScanner.__init__()=archive.scanners.AbldWhatScanner-class.html#__init__,Method archive.scanners.FileSystemScanner.__init__()=archive.scanners.FileSystemScanner-class.html#__init__,Method archive.scanners.InputFileScanner.__init__()=archive.scanners.InputFileScanner-class.html#__init__,Method archive.scanners.Scanner.__init__()=archive.scanners.Scanner-class.html#__init__,Method archive.selectors.DistributionPolicySelector.__init__()=archive.selectors.DistributionPolicySelector-class.html#__init__,Method archive.selectors.SymbianPolicySelector.__init__()=archive.selectors.SymbianPolicySelector-class.html#__init__,Method archive.tools.Remover.__init__()=archive.tools.Remover-class.html#__init__,Method archive.tools.SevenZipArchiver.__init__()=archive.tools.SevenZipArchiver-class.html#__init__,Method archive.tools.ZipArchiver.__init__()=archive.tools.ZipArchiver-class.html#__init__,Method ats3.Ats3TestPlan.__init__()=ats3.Ats3TestPlan-class.html#__init__,Method ats3.Configuration.__init__()=ats3.Configuration-class.html#__init__,Method ats3.aste.AsteComponentParser.__init__()=ats3.aste.AsteComponentParser-class.html#__init__,Method ats3.aste.AsteTestDropGenerator.__init__()=ats3.aste.AsteTestDropGenerator-class.html#__init__,Method ats3.aste.AsteTestPlan.__init__()=ats3.aste.AsteTestPlan-class.html#__init__,Method ats3.aste.Configuration.__init__()=ats3.aste.Configuration-class.html#__init__,Method ats3.atsconfigparser.ATSConfigParser.__init__()=ats3.atsconfigparser.ATSConfigParser-class.html#__init__,Method ats3.atsconfigparser.TestXML.__init__()=ats3.atsconfigparser.TestXML-class.html#__init__,Method ats3.dropgenerator.Ats3TestDropGenerator.__init__()=ats3.dropgenerator.Ats3TestDropGenerator-class.html#__init__,Method ats3.parsers.BldFileParser.__init__()=ats3.parsers.BldFileParser-class.html#__init__,Method ats3.parsers.CppParser.__init__()=ats3.parsers.CppParser-class.html#__init__,Method ats3.parsers.MmpFileParser.__init__()=ats3.parsers.MmpFileParser-class.html#__init__,Method ats3.parsers.PkgFileParser.__init__()=ats3.parsers.PkgFileParser-class.html#__init__,Method ats3.testconfigurator.Ats3ComponentParser.__init__()=ats3.testconfigurator.Ats3ComponentParser-class.html#__init__,Method bsf.BSF.__init__()=bsf.BSF-class.html#__init__,Method build.ec.history.HistoryFileManager.__init__()=build.ec.history.HistoryFileManager-class.html#__init__,Method build.io.AbldLogWhatReader.__init__()=build.io.AbldLogWhatReader-class.html#__init__,Method build.io.RombuildLogBinarySizeReader.__init__()=build.io.RombuildLogBinarySizeReader-class.html#__init__,Method build.model.BOM.__init__()=build.model.BOM-class.html#__init__,Method build.model.BOMDeltaXMLWriter.__init__()=build.model.BOMDeltaXMLWriter-class.html#__init__,Method build.model.BOMXMLWriter.__init__()=build.model.BOMXMLWriter-class.html#__init__,Method build.model.Fix.__init__()=build.model.Fix-class.html#__init__,Method build.model.PCPError.__init__()=build.model.PCPError-class.html#__init__,Method build.model.Project.__init__()=build.model.Project-class.html#__init__,Method build.model.SessionCreator.__init__()=build.model.SessionCreator-class.html#__init__,Method build.model.TAChange.__init__()=build.model.TAChange-class.html#__init__,Method build.model.TSWError.__init__()=build.model.TSWError-class.html#__init__,Method build.model.Task.__init__()=build.model.Task-class.html#__init__,Method buildtools.AbstractOutputWriter.__init__()=buildtools.AbstractOutputWriter-class.html#__init__,Method buildtools.AntWriter.__init__()=buildtools.AntWriter-class.html#__init__,Method buildtools.Command.__init__()=buildtools.Command-class.html#__init__,Method buildtools.CommandList.__init__()=buildtools.CommandList-class.html#__init__,Method buildtools.Copy.__init__()=buildtools.Copy-class.html#__init__,Method buildtools.Delete.__init__()=buildtools.Delete-class.html#__init__,Method buildtools.EBSWriter.__init__()=buildtools.EBSWriter-class.html#__init__,Method buildtools.MakeWriter.__init__()=buildtools.MakeWriter-class.html#__init__,Method buildtools.PreBuilder.__init__()=buildtools.PreBuilder-class.html#__init__,Method buildtools.StringWriter.__init__()=buildtools.StringWriter-class.html#__init__,Method ccm.AbstractSession.__init__()=ccm.AbstractSession-class.html#__init__,Method ccm.AttributeNameListResult.__init__()=ccm.AttributeNameListResult-class.html#__init__,Method ccm.CCMException.__init__()=ccm.CCMException-class.html#__init__,Method ccm.CCMObject.__init__()=ccm.CCMObject-class.html#__init__,Method ccm.ConflictsResult.__init__()=ccm.ConflictsResult-class.html#__init__,Method ccm.CreateNewTaskResult.__init__()=ccm.CreateNewTaskResult-class.html#__init__,Method ccm.DataMapperListResult.__init__()=ccm.DataMapperListResult-class.html#__init__,Method ccm.Dir.__init__()=ccm.Dir-class.html#__init__,Method ccm.File.__init__()=ccm.File-class.html#__init__,Method ccm.FinduseResult.__init__()=ccm.FinduseResult-class.html#__init__,Method ccm.Folder.__init__()=ccm.Folder-class.html#__init__,Method ccm.FolderCopyResult.__init__()=ccm.FolderCopyResult-class.html#__init__,Method ccm.FourPartName.__init__()=ccm.FourPartName-class.html#__init__,Method ccm.InvalidFourPartNameException.__init__()=ccm.InvalidFourPartNameException-class.html#__init__,Method ccm.ObjectListResult.__init__()=ccm.ObjectListResult-class.html#__init__,Method ccm.Project.__init__()=ccm.Project-class.html#__init__,Method ccm.ProjectCheckoutResult.__init__()=ccm.ProjectCheckoutResult-class.html#__init__,Method ccm.ProjectPurposeResult.__init__()=ccm.ProjectPurposeResult-class.html#__init__,Method ccm.Query.__init__()=ccm.Query-class.html#__init__,Method ccm.Releasedef.__init__()=ccm.Releasedef-class.html#__init__,Method ccm.Result.__init__()=ccm.Result-class.html#__init__,Method ccm.Session.__init__()=ccm.Session-class.html#__init__,Method ccm.SessionPool.__init__()=ccm.SessionPool-class.html#__init__,Method ccm.Task.__init__()=ccm.Task-class.html#__init__,Method ccm.UpdatePropertiesRefreshResult.__init__()=ccm.UpdatePropertiesRefreshResult-class.html#__init__,Method ccm.UpdateResult.__init__()=ccm.UpdateResult-class.html#__init__,Method ccm.UpdateResultSimple.__init__()=ccm.UpdateResultSimple-class.html#__init__,Method ccm.UpdateTemplate.__init__()=ccm.UpdateTemplate-class.html#__init__,Method ccm.UpdateTemplateInformation.__init__()=ccm.UpdateTemplateInformation-class.html#__init__,Method ccm.WorkAreaInfoResult.__init__()=ccm.WorkAreaInfoResult-class.html#__init__,Method ccm.conflict.Conflict.__init__()=ccm.conflict.Conflict-class.html#__init__,Method ccm.conflict.MultipleObjectInBaselineConflict.__init__()=ccm.conflict.MultipleObjectInBaselineConflict-class.html#__init__,Method ccm.conflict.ObjectAndBaselineConflict.__init__()=ccm.conflict.ObjectAndBaselineConflict-class.html#__init__,Method ccm.conflict.ObjectAndTask.__init__()=ccm.conflict.ObjectAndTask-class.html#__init__,Method ccm.conflict.ObjectNotFoundInBaselineConflict.__init__()=ccm.conflict.ObjectNotFoundInBaselineConflict-class.html#__init__,Method ccm.conflict.TaskModel.__init__()=ccm.conflict.TaskModel-class.html#__init__,Method ccm.extra.CCMExtraException.__init__()=ccm.extra.CCMExtraException-class.html#__init__,Method ccm.extra.CachedProxySession.__init__()=ccm.extra.CachedProxySession-class.html#__init__,Method ccm.extra.CachedSessionProvider.__init__()=ccm.extra.CachedSessionProvider-class.html#__init__,Method ccm.extra.SessionProvider.__init__()=ccm.extra.SessionProvider-class.html#__init__,Method ccm.extra.__FileSnapshot.__init__()=ccm.extra.__FileSnapshot-class.html#__init__,Method ccm.extra.__ProjectSnapshot.__init__()=ccm.extra.__ProjectSnapshot-class.html#__init__,Method comments.CommentParser.__init__()=comments.CommentParser-class.html#__init__,Method configuration.Configuration.__init__()=configuration.Configuration-class.html#__init__,Method configuration.ConfigurationSet.__init__()=configuration.ConfigurationSet-class.html#__init__,Method configuration.HierarchicalConfiguration.__init__()=configuration.HierarchicalConfiguration-class.html#__init__,Method configuration.NestedConfiguration.__init__()=configuration.NestedConfiguration-class.html#__init__,Method configuration.NestedConfigurationBuilder.__init__()=configuration.NestedConfigurationBuilder-class.html#__init__,Method configuration.PropertiesConfiguration.__init__()=configuration.PropertiesConfiguration-class.html#__init__,Method configuration.Specification.__init__()=configuration.Specification-class.html#__init__,Method configuration.XMLConfiguration.__init__()=configuration.XMLConfiguration-class.html#__init__,Method configuration._Key.__init__()=configuration._Key-class.html#__init__,Method configuration_model.DataModel.__init__()=configuration_model.DataModel-class.html#__init__,Method configuration_model.GroupDef.__init__()=configuration_model.GroupDef-class.html#__init__,Method configuration_model.Item.__init__()=configuration_model.Item-class.html#__init__,Method configuration_model.PropertyDef.__init__()=configuration_model.PropertyDef-class.html#__init__,Method delta_zip.DeltaZipBuilder.__init__()=delta_zip.DeltaZipBuilder-class.html#__init__,Method delta_zip.MD5SignatureBuilder.__init__()=delta_zip.MD5SignatureBuilder-class.html#__init__,Method delta_zip.MD5SignatureBuilderEC.__init__()=delta_zip.MD5SignatureBuilderEC-class.html#__init__,Method delta_zip.SignaturesDict.__init__()=delta_zip.SignaturesDict-class.html#__init__,Method dependancygraph.Library.__init__()=dependancygraph.Library-class.html#__init__,Method dependancygraph.ModuleGroup.__init__()=dependancygraph.ModuleGroup-class.html#__init__,Method dependancygraph.ReadIvyConfig.__init__()=dependancygraph.ReadIvyConfig-class.html#__init__,Method escapeddict.EscapedDict.__init__()=escapeddict.EscapedDict-class.html#__init__,Method fileutils.AbstractScanner.__init__()=fileutils.AbstractScanner-class.html#__init__,Method fileutils.FileScanner.__init__()=fileutils.FileScanner-class.html#__init__,Method fileutils.Lock.__init__()=fileutils.Lock-class.html#__init__,Method flash_config.FlashConfigurationWriter.__init__()=flash_config.FlashConfigurationWriter-class.html#__init__,Method flash_config.ImagePack.__init__()=flash_config.ImagePack-class.html#__init__,Method helium.documentation.APIDeltaWriter.__init__()=helium.documentation.APIDeltaWriter-class.html#__init__,Method helium.logger.Logger.__init__()=helium.logger.Logger-class.html#__init__,Method helium.logger._CustomizePrint.__init__()=helium.logger._CustomizePrint-class.html#__init__,Method helium.output.widgets.BoldText.__init__()=helium.output.widgets.BoldText-class.html#__init__,Method helium.output.widgets.Box.__init__()=helium.output.widgets.Box-class.html#__init__,Method helium.output.widgets.Event.__init__()=helium.output.widgets.Event-class.html#__init__,Method helium.output.widgets.Footer.__init__()=helium.output.widgets.Footer-class.html#__init__,Method helium.output.widgets.Header.__init__()=helium.output.widgets.Header-class.html#__init__,Method helium.output.widgets.Summary.__init__()=helium.output.widgets.Summary-class.html#__init__,Method helium.output.widgets.Text.__init__()=helium.output.widgets.Text-class.html#__init__,Method helium.output.widgets.Widget.__init__()=helium.output.widgets.Widget-class.html#__init__,Method helium.outputer.Configuration.__init__()=helium.outputer.Configuration-class.html#__init__,Method helium.outputer.XML2XHTML.__init__()=helium.outputer.XML2XHTML-class.html#__init__,Method imaker.ecore.ContainerBase.__init__()=imaker.ecore.ContainerBase-class.html#__init__,Method imaker.ecore.Reference.__init__()=imaker.ecore.Reference-class.html#__init__,Method imaker.iqrf.Configuration.__init__()=imaker.iqrf.Configuration-class.html#__init__,Method imaker.iqrf.ConfigurationElement.__init__()=imaker.iqrf.ConfigurationElement-class.html#__init__,Method imaker.iqrf.IMaker.__init__()=imaker.iqrf.IMaker-class.html#__init__,Method imaker.iqrf.Interface.__init__()=imaker.iqrf.Interface-class.html#__init__,Method imaker.iqrf.Result.__init__()=imaker.iqrf.Result-class.html#__init__,Method imaker.iqrf.Setting.__init__()=imaker.iqrf.Setting-class.html#__init__,Method imaker.iqrf.Target.__init__()=imaker.iqrf.Target-class.html#__init__,Method integration.quality.AbldWhatParser.__init__()=integration.quality.AbldWhatParser-class.html#__init__,Method integration.quality.InternalExportParser.__init__()=integration.quality.InternalExportParser-class.html#__init__,Method integration.quality.PolicyValidator.__init__()=integration.quality.PolicyValidator-class.html#__init__,Method integration.templatebuilder.TemplateBuilder.__init__()=integration.templatebuilder.TemplateBuilder-class.html#__init__,Method localisation.Languages.__init__()=localisation.Languages-class.html#__init__,Method log2xml.AppendSummary.__init__()=log2xml.AppendSummary-class.html#__init__,Method log2xml.ContentWriter.__init__()=log2xml.ContentWriter-class.html#__init__,Method log2xml.LogWriter.__init__()=log2xml.LogWriter-class.html#__init__,Method log2xml.Stack.__init__()=log2xml.Stack-class.html#__init__,Method parsedatalistening.Build.__init__()=parsedatalistening.Build-class.html#__init__,Method parsedatalistening.Target.__init__()=parsedatalistening.Target-class.html#__init__,Method preparation.PreparationAction.__init__()=preparation.PreparationAction-class.html#__init__,Method preparation.PreparationBuilder.__init__()=preparation.PreparationBuilder-class.html#__init__,Method preparation.PreparationCheckout.__init__()=preparation.PreparationCheckout-class.html#__init__,Method preparation.PreparationSnapshot.__init__()=preparation.PreparationSnapshot-class.html#__init__,Method preparation.PreparationUpdate.__init__()=preparation.PreparationUpdate-class.html#__init__,Method rom.IMakerRomBuilder.__init__()=rom.IMakerRomBuilder-class.html#__init__,Method rom.Image.__init__()=rom.Image-class.html#__init__,Method rom.RomBuilder.__init__()=rom.RomBuilder-class.html#__init__,Method rtfutils.RTFUtils.__init__()=rtfutils.RTFUtils-class.html#__init__,Method sis.SisPreBuilder.__init__()=sis.SisPreBuilder-class.html#__init__,Method symbian.log.Parser.__init__()=symbian.log.Parser-class.html#__init__,Method symrec.MD5Updater.__init__()=symrec.MD5Updater-class.html#__init__,Method symrec.Metadata2TDD.__init__()=symrec.Metadata2TDD-class.html#__init__,Method symrec.MetadataMerger.__init__()=symrec.MetadataMerger-class.html#__init__,Method symrec.ReleaseMetadata.__init__()=symrec.ReleaseMetadata-class.html#__init__,Method symrec.ServicePack.__init__()=symrec.ServicePack-class.html#__init__,Method symrec.ValidateReleaseMetadata.__init__()=symrec.ValidateReleaseMetadata-class.html#__init__,Method symrec.ValidateReleaseMetadataCached.__init__()=symrec.ValidateReleaseMetadataCached-class.html#__init__,Method symrec.ValidateTicklerReleaseMetadata.__init__()=symrec.ValidateTicklerReleaseMetadata-class.html#__init__,Method sysdef.api.Binary.__init__()=sysdef.api.Binary-class.html#__init__,Method sysdef.api.BuildLayer.__init__()=sysdef.api.BuildLayer-class.html#__init__,Method sysdef.api.Configuration.__init__()=sysdef.api.Configuration-class.html#__init__,Method sysdef.api.Layer.__init__()=sysdef.api.Layer-class.html#__init__,Method sysdef.api.Module.__init__()=sysdef.api.Module-class.html#__init__,Method sysdef.api.Option.__init__()=sysdef.api.Option-class.html#__init__,Method sysdef.api.SpecialInstruction.__init__()=sysdef.api.SpecialInstruction-class.html#__init__,Method sysdef.api.SysDefElement.__init__()=sysdef.api.SysDefElement-class.html#__init__,Method sysdef.api.SystemDefinition.__init__()=sysdef.api.SystemDefinition-class.html#__init__,Method sysdef.api.Target.__init__()=sysdef.api.Target-class.html#__init__,Method sysdef.api.TargetList.__init__()=sysdef.api.TargetList-class.html#__init__,Method sysdef.api.Task.__init__()=sysdef.api.Task-class.html#__init__,Method sysdef.api.Unit.__init__()=sysdef.api.Unit-class.html#__init__,Method sysdef.api.UnitList.__init__()=sysdef.api.UnitList-class.html#__init__,Method sysdef.api._UnitGroup.__init__()=sysdef.api._UnitGroup-class.html#__init__,Method sysdef.io.FlashImageSizeWriter.__init__()=sysdef.io.FlashImageSizeWriter-class.html#__init__,Method sysdef.io.MakeWriter.__init__()=sysdef.io.MakeWriter-class.html#__init__,Method sysdef.io.MakeWriter2.__init__()=sysdef.io.MakeWriter2-class.html#__init__,Method sysdef.io.MakeWriter3.__init__()=sysdef.io.MakeWriter3-class.html#__init__,Method validateoverlay.ValidateOverlayInfo.__init__()=validateoverlay.ValidateOverlayInfo-class.html#__init__,Method vbaconf.AbstractConfigConverter.__init__()=vbaconf.AbstractConfigConverter-class.html#__init__,Method vbaconf.ConfigConverter.__init__()=vbaconf.ConfigConverter-class.html#__init__,Method vbaconf.ConfigConverterNewDelivery.__init__()=vbaconf.ConfigConverterNewDelivery-class.html#__init__,Method vbaconf.new_delivery.config_wrapper.__init__()=vbaconf.new_delivery.config_wrapper-class.html#__init__,Method version.Version.__init__()=version.Version-class.html#__init__,Method virtualbuildarea.VirtualDir.__init__()=virtualbuildarea.VirtualDir-class.html#__init__,Method virtualbuildarea.VirtualProject.__init__()=virtualbuildarea.VirtualProject-class.html#__init__"><a title="ant.AntHandler.__init__
archive.builders.ArchivePreBuilder.__init__
archive.mappers.DefaultMapper.__init__
archive.mappers.EPLPolicyRemoverMapper.__init__
archive.mappers.Mapper.__init__
archive.mappers.PolicyMapper.__init__
archive.mappers.PolicyRemoverMapper.__init__
archive.mappers.SFPolicyRemoverMapper.__init__
archive.scanners.AbldWhatScanner.__init__
archive.scanners.FileSystemScanner.__init__
archive.scanners.InputFileScanner.__init__
archive.scanners.Scanner.__init__
archive.selectors.DistributionPolicySelector.__init__
archive.selectors.SymbianPolicySelector.__init__
archive.tools.Remover.__init__
archive.tools.SevenZipArchiver.__init__
archive.tools.ZipArchiver.__init__
ats3.Ats3TestPlan.__init__
ats3.Configuration.__init__
ats3.aste.AsteComponentParser.__init__
ats3.aste.AsteTestDropGenerator.__init__
ats3.aste.AsteTestPlan.__init__
ats3.aste.Configuration.__init__
ats3.atsconfigparser.ATSConfigParser.__init__
ats3.atsconfigparser.TestXML.__init__
ats3.dropgenerator.Ats3TestDropGenerator.__init__
ats3.parsers.BldFileParser.__init__
ats3.parsers.CppParser.__init__
ats3.parsers.MmpFileParser.__init__
ats3.parsers.PkgFileParser.__init__
ats3.testconfigurator.Ats3ComponentParser.__init__
bsf.BSF.__init__
build.ec.history.HistoryFileManager.__init__
build.io.AbldLogWhatReader.__init__
build.io.RombuildLogBinarySizeReader.__init__
build.model.BOM.__init__
build.model.BOMDeltaXMLWriter.__init__
build.model.BOMXMLWriter.__init__
build.model.Fix.__init__
build.model.PCPError.__init__
build.model.Project.__init__
build.model.SessionCreator.__init__
build.model.TAChange.__init__
build.model.TSWError.__init__
build.model.Task.__init__
buildtools.AbstractOutputWriter.__init__
buildtools.AntWriter.__init__
buildtools.Command.__init__
buildtools.CommandList.__init__
buildtools.Copy.__init__
buildtools.Delete.__init__
buildtools.EBSWriter.__init__
buildtools.MakeWriter.__init__
buildtools.PreBuilder.__init__
buildtools.StringWriter.__init__
ccm.AbstractSession.__init__
ccm.AttributeNameListResult.__init__
ccm.CCMException.__init__
ccm.CCMObject.__init__
ccm.ConflictsResult.__init__
ccm.CreateNewTaskResult.__init__
ccm.DataMapperListResult.__init__
ccm.Dir.__init__
ccm.File.__init__
ccm.FinduseResult.__init__
ccm.Folder.__init__
ccm.FolderCopyResult.__init__
ccm.FourPartName.__init__
ccm.InvalidFourPartNameException.__init__
ccm.ObjectListResult.__init__
ccm.Project.__init__
ccm.ProjectCheckoutResult.__init__
ccm.ProjectPurposeResult.__init__
ccm.Query.__init__
ccm.Releasedef.__init__
ccm.Result.__init__
ccm.Session.__init__
ccm.SessionPool.__init__
ccm.Task.__init__
ccm.UpdatePropertiesRefreshResult.__init__
ccm.UpdateResult.__init__
ccm.UpdateResultSimple.__init__
ccm.UpdateTemplate.__init__
ccm.UpdateTemplateInformation.__init__
ccm.WorkAreaInfoResult.__init__
ccm.conflict.Conflict.__init__
ccm.conflict.MultipleObjectInBaselineConflict.__init__
ccm.conflict.ObjectAndBaselineConflict.__init__
ccm.conflict.ObjectAndTask.__init__
ccm.conflict.ObjectNotFoundInBaselineConflict.__init__
ccm.conflict.TaskModel.__init__
ccm.extra.CCMExtraException.__init__
ccm.extra.CachedProxySession.__init__
ccm.extra.CachedSessionProvider.__init__
ccm.extra.SessionProvider.__init__
ccm.extra.__FileSnapshot.__init__
ccm.extra.__ProjectSnapshot.__init__
comments.CommentParser.__init__
configuration.Configuration.__init__
configuration.ConfigurationSet.__init__
configuration.HierarchicalConfiguration.__init__
configuration.NestedConfiguration.__init__
configuration.NestedConfigurationBuilder.__init__
configuration.PropertiesConfiguration.__init__
configuration.Specification.__init__
configuration.XMLConfiguration.__init__
configuration._Key.__init__
configuration_model.DataModel.__init__
configuration_model.GroupDef.__init__
configuration_model.Item.__init__
configuration_model.PropertyDef.__init__
delta_zip.DeltaZipBuilder.__init__
delta_zip.MD5SignatureBuilder.__init__
delta_zip.MD5SignatureBuilderEC.__init__
delta_zip.SignaturesDict.__init__
dependancygraph.Library.__init__
dependancygraph.ModuleGroup.__init__
dependancygraph.ReadIvyConfig.__init__
escapeddict.EscapedDict.__init__
fileutils.AbstractScanner.__init__
fileutils.FileScanner.__init__
fileutils.Lock.__init__
flash_config.FlashConfigurationWriter.__init__
flash_config.ImagePack.__init__
helium.documentation.APIDeltaWriter.__init__
helium.logger.Logger.__init__
helium.logger._CustomizePrint.__init__
helium.output.widgets.BoldText.__init__
helium.output.widgets.Box.__init__
helium.output.widgets.Event.__init__
helium.output.widgets.Footer.__init__
helium.output.widgets.Header.__init__
helium.output.widgets.Summary.__init__
helium.output.widgets.Text.__init__
helium.output.widgets.Widget.__init__
helium.outputer.Configuration.__init__
helium.outputer.XML2XHTML.__init__
imaker.ecore.ContainerBase.__init__
imaker.ecore.Reference.__init__
imaker.iqrf.Configuration.__init__
imaker.iqrf.ConfigurationElement.__init__
imaker.iqrf.IMaker.__init__
imaker.iqrf.Interface.__init__
imaker.iqrf.Result.__init__
imaker.iqrf.Setting.__init__
imaker.iqrf.Target.__init__
integration.quality.AbldWhatParser.__init__
integration.quality.InternalExportParser.__init__
integration.quality.PolicyValidator.__init__
integration.templatebuilder.TemplateBuilder.__init__
localisation.Languages.__init__
log2xml.AppendSummary.__init__
log2xml.ContentWriter.__init__
log2xml.LogWriter.__init__
log2xml.Stack.__init__
parsedatalistening.Build.__init__
parsedatalistening.Target.__init__
preparation.PreparationAction.__init__
preparation.PreparationBuilder.__init__
preparation.PreparationCheckout.__init__
preparation.PreparationSnapshot.__init__
preparation.PreparationUpdate.__init__
rom.IMakerRomBuilder.__init__
rom.Image.__init__
rom.RomBuilder.__init__
rtfutils.RTFUtils.__init__
sis.SisPreBuilder.__init__
symbian.log.Parser.__init__
symrec.MD5Updater.__init__
symrec.Metadata2TDD.__init__
symrec.MetadataMerger.__init__
symrec.ReleaseMetadata.__init__
symrec.ServicePack.__init__
symrec.ValidateReleaseMetadata.__init__
symrec.ValidateReleaseMetadataCached.__init__
symrec.ValidateTicklerReleaseMetadata.__init__
sysdef.api.Binary.__init__
sysdef.api.BuildLayer.__init__
sysdef.api.Configuration.__init__
sysdef.api.Layer.__init__
sysdef.api.Module.__init__
sysdef.api.Option.__init__
sysdef.api.SpecialInstruction.__init__
sysdef.api.SysDefElement.__init__
sysdef.api.SystemDefinition.__init__
sysdef.api.Target.__init__
sysdef.api.TargetList.__init__
sysdef.api.Task.__init__
sysdef.api.Unit.__init__
sysdef.api.UnitList.__init__
sysdef.api._UnitGroup.__init__
sysdef.io.FlashImageSizeWriter.__init__
sysdef.io.MakeWriter.__init__
sysdef.io.MakeWriter2.__init__
sysdef.io.MakeWriter3.__init__
validateoverlay.ValidateOverlayInfo.__init__
vbaconf.AbstractConfigConverter.__init__
vbaconf.ConfigConverter.__init__
vbaconf.ConfigConverterNewDelivery.__init__
vbaconf.new_delivery.config_wrapper.__init__
version.Version.__init__
virtualbuildarea.VirtualDir.__init__
virtualbuildarea.VirtualProject.__init__" class="py-name" href="#" onclick="return doclink('link-0', '__init__', 'link-0');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> </tt>
<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__failonerror</tt> <tt class="py-op">=</tt> <tt class="py-name">failonerror</tt> </tt>
</div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt>
<a name="EscapedDict.__getitem__"></a><div id="EscapedDict.__getitem__-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="EscapedDict.__getitem__-toggle" onclick="return toggle('EscapedDict.__getitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="escapeddict.EscapedDict-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="EscapedDict.__getitem__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EscapedDict.__getitem__-expanded"><a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-docstring">""" Overrides the usual __getitem__ to insert values of other keys referenced in this key's</tt> </tt>
<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"><tt class="py-docstring"> value. """</tt> </tt>
<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-1" class="py-name" targets="Class escapeddict._CustomArray=escapeddict._CustomArray-class.html"><a title="escapeddict._CustomArray" class="py-name" href="#" onclick="return doclink('link-1', '_CustomArray', 'link-1');">_CustomArray</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">,</tt> <tt class="py-name">changes</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">subn</tt><tt class="py-op">(</tt><tt class="py-string">r'\${(?P<name>[._a-zA-Z0-9]+)}'</tt><tt class="py-op">,</tt> <tt class="py-string">r'%(\g<name>)s'</tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt><tt class="py-op">)</tt> </tt>
<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">changes</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method ccm.Folder.append()=ccm.Folder-class.html#append,Method ccm.Task.append()=ccm.Task-class.html#append"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-2', 'append', 'link-2');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">string</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-3', 'append', 'link-2');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">elem</tt><tt class="py-op">)</tt> </tt>
<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">,</tt> <tt class="py-name">changes</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">subn</tt><tt class="py-op">(</tt><tt class="py-string">r'\${(?P<name>[._a-zA-Z0-9]+)}'</tt><tt class="py-op">,</tt> <tt class="py-string">r'%(\g<name>)s'</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">changes</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt> </tt>
<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__failonerror</tt><tt class="py-op">:</tt> </tt>
<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"${%s}"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"Could not find key '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt>
<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> </tt>
<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> </tt>
<a name="escapeString"></a><div id="escapeString-def"><a name="L70"></a><tt class="py-lineno">70</tt> <a class="py-toggle" href="#" id="escapeString-toggle" onclick="return toggle('escapeString');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="escapeddict-module.html#escapeString">escapeString</a><tt class="py-op">(</tt><tt class="py-param">input_string</tt><tt class="py-op">,</tt> <tt class="py-param">config</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="escapeString-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="escapeString-expanded"><a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> <tt class="py-docstring">""" Escape a string recursively.</tt> </tt>
<a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
<a name="L73"></a><tt class="py-lineno">73</tt> <tt class="py-line"><tt class="py-docstring"> :param input_string: the string to be escaped.</tt> </tt>
<a name="L74"></a><tt class="py-lineno">74</tt> <tt class="py-line"><tt class="py-docstring"> :param config: a dictionnary containing the values to escape.</tt> </tt>
<a name="L75"></a><tt class="py-lineno">75</tt> <tt class="py-line"><tt class="py-docstring"> :return: the escaped string.</tt> </tt>
<a name="L76"></a><tt class="py-lineno">76</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L77"></a><tt class="py-lineno">77</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name" targets="Class escapeddict.EscapedDict=escapeddict.EscapedDict-class.html"><a title="escapeddict.EscapedDict" class="py-name" href="#" onclick="return doclink('link-4', 'EscapedDict', 'link-4');">EscapedDict</a></tt><tt class="py-op">(</tt><tt class="py-name">config</tt><tt class="py-op">)</tt> </tt>
<a name="L78"></a><tt class="py-lineno">78</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Method fileutils.AbstractScanner.match()=fileutils.AbstractScanner-class.html#match,Module pathaddition.match=pathaddition.match-module.html"><a title="fileutils.AbstractScanner.match
pathaddition.match" class="py-name" href="#" onclick="return doclink('link-5', 'match', 'link-5');">match</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">r'\${(?P<name>[._a-zA-Z0-9]+)}'</tt><tt class="py-op">,</tt> <tt class="py-name">input_string</tt><tt class="py-op">)</tt> </tt>
<a name="L79"></a><tt class="py-lineno">79</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="fileutils.AbstractScanner.match
pathaddition.match" class="py-name" href="#" onclick="return doclink('link-6', 'match', 'link-5');">match</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L80"></a><tt class="py-lineno">80</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">property_name</tt> <tt class="py-keyword">in</tt> <tt id="link-7" class="py-name"><a title="fileutils.AbstractScanner.match
pathaddition.match" class="py-name" href="#" onclick="return doclink('link-7', 'match', 'link-5');">match</a></tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L81"></a><tt class="py-lineno">81</tt> <tt class="py-line"> <tt class="py-name">property_value</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">property_name</tt><tt class="py-op">]</tt> </tt>
<a name="L82"></a><tt class="py-lineno">82</tt> <tt class="py-line"> <tt class="py-name">property_value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\\\\'</tt><tt class="py-op">,</tt> <tt class="py-name">property_value</tt><tt class="py-op">)</tt> </tt>
<a name="L83"></a><tt class="py-lineno">83</tt> <tt class="py-line"> <tt class="py-name">input_string</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'\${'</tt> <tt class="py-op">+</tt> <tt class="py-name">property_name</tt> <tt class="py-op">+</tt> <tt class="py-string">'}'</tt><tt class="py-op">,</tt> <tt class="py-name">property_value</tt><tt class="py-op">,</tt> <tt class="py-name">input_string</tt><tt class="py-op">)</tt> </tt>
<a name="L84"></a><tt class="py-lineno">84</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">input_string</tt> </tt>
</div><a name="L85"></a><tt class="py-lineno">85</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<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:21 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>