Re-apply changes to allow sources.csv to specify a revision by a *local* tag in the web repository.
Uses "hg id" instead of "hg in", so not affected by the aborts we had previously. And no need for an empty repo this time either.
<?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>