doc/api/python/validateoverlay-pysrc.html
author Simon Howkins <simonh@symbian.org>
Mon, 05 Oct 2009 10:20:32 +0100
changeset 578 75fa4158340a
parent 432 f2ddfa555b0f
permissions -rw-r--r--
Fixed handling or regular expression strings, so the regular expression functiuonality works, not just substring detection! Added special handling if the severity marker is "ignore". Unsuprisingly, it ignores that line.

<?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>validateoverlay</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>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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&nbsp;validateoverlay
      </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&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="validateoverlay-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="validateoverlay-module.html">Module validateoverlay</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        : validateoverlay.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>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">StringIO</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">sys</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">os</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">optparse</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">amara</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package ccm=ccm-module.html"><a title="ccm" class="py-name" href="#" onclick="return doclink('link-0', 'ccm', 'link-0');">ccm</a></tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module comments=comments-module.html"><a title="comments" class="py-name" href="#" onclick="return doclink('link-1', 'comments', 'link-1');">comments</a></tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Package helium=helium-module.html"><a title="helium" class="py-name" href="#" onclick="return doclink('link-2', 'helium', 'link-2');">helium</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable archive.scanners.logger=archive.scanners-module.html#logger,Variable archive.selectors.logger=archive.selectors-module.html#logger,Variable buildmanagement.logger=buildmanagement-module.html#logger,Variable flash_config.logger=flash_config-module.html#logger,Module helium.logger=helium.logger-module.html,Variable imaker.iqrf.logger=imaker.iqrf-module.html#logger,Variable integration.templatebuilder.logger=integration.templatebuilder-module.html#logger,Variable rom.logger=rom-module.html#logger"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="helium" class="py-name" href="#" onclick="return doclink('link-4', 'helium', 'link-2');">helium</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module helium.outputer=helium.outputer-module.html"><a title="helium.outputer" class="py-name" href="#" onclick="return doclink('link-5', 'outputer', 'link-5');">outputer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class helium.outputer.XML2XHTML=helium.outputer.XML2XHTML-class.html"><a title="helium.outputer.XML2XHTML" class="py-name" href="#" onclick="return doclink('link-6', 'XML2XHTML', 'link-6');">XML2XHTML</a></tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Package nokia=nokia-module.html"><a title="nokia" class="py-name" href="#" onclick="return doclink('link-7', 'nokia', 'link-7');">nokia</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module nokia.nokiaccm=nokia.nokiaccm-module.html"><a title="nokia.nokiaccm" class="py-name" href="#" onclick="return doclink('link-8', 'nokiaccm', 'link-8');">nokiaccm</a></tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Module virtualbuildarea=virtualbuildarea-module.html"><a title="virtualbuildarea" class="py-name" href="#" onclick="return doclink('link-9', 'virtualbuildarea', 'link-9');">virtualbuildarea</a></tt> </tt>
<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="__findChild"></a><div id="__findChild-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="__findChild-toggle" onclick="return toggle('__findChild');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#__findChild">__findChild</a><tt class="py-op">(</tt><tt class="py-param">p</tt><tt class="py-op">,</tt> <tt class="py-param">d</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="__findChild-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="__findChild-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">p</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">d</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method ccm.Dir.children()=ccm.Dir-class.html#children,Method virtualbuildarea.VirtualDir.children()=virtualbuildarea.VirtualDir-class.html#children"><a title="ccm.Dir.children
virtualbuildarea.VirtualDir.children" class="py-name" href="#" onclick="return doclink('link-10', 'children', 'link-10');">children</a></tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-11" class="py-name" targets="Method buildtools.Command.name()=buildtools.Command-class.html#name,Method ccm.FourPartName.name()=ccm.FourPartName-class.html#name,Method symrec.ServicePack.name()=symrec.ServicePack-class.html#name,Method sysdef.api.Configuration.name()=sysdef.api.Configuration-class.html#name,Method sysdef.api.Option.name()=sysdef.api.Option-class.html#name,Method sysdef.api.SpecialInstruction.name()=sysdef.api.SpecialInstruction-class.html#name,Method sysdef.api.Target.name()=sysdef.api.Target-class.html#name,Method sysdef.api.TargetList.name()=sysdef.api.TargetList-class.html#name,Method sysdef.api.Unit.name()=sysdef.api.Unit-class.html#name,Method sysdef.api._UnitGroup.name()=sysdef.api._UnitGroup-class.html#name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-11', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-12', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">child</tt> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
<a name="__getDir"></a><div id="__getDir-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="__getDir-toggle" onclick="return toggle('__getDir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#__getDir">__getDir</a><tt class="py-op">(</tt><tt class="py-param">p</tt><tt class="py-op">,</tt> <tt class="py-param">o</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="__getDir-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="__getDir-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">o</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method ccm.FourPartName.type()=ccm.FourPartName-class.html#type"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-13', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'project'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">o</tt><tt class="py-op">,</tt> <tt class="py-name">o</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method ccm.Project.root_dir()=ccm.Project-class.html#root_dir,Method virtualbuildarea.VirtualProject.root_dir()=virtualbuildarea.VirtualProject-class.html#root_dir"><a title="ccm.Project.root_dir
virtualbuildarea.VirtualProject.root_dir" class="py-name" href="#" onclick="return doclink('link-14', 'root_dir', 'link-14');">root_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">p</tt><tt class="py-op">,</tt> <tt class="py-name">o</tt> </tt>
</div><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
<a name="ValidateOverlayInfo"></a><div id="ValidateOverlayInfo-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="ValidateOverlayInfo-toggle" onclick="return toggle('ValidateOverlayInfo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="validateoverlay.ValidateOverlayInfo-class.html">ValidateOverlayInfo</a><tt class="py-op">:</tt> </tt>
</div><div id="ValidateOverlayInfo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ValidateOverlayInfo-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt id="link-15" class="py-name" targets="Variable validateoverlay.ValidateOverlayInfo.UNKNOW=validateoverlay.ValidateOverlayInfo-class.html#UNKNOW"><a title="validateoverlay.ValidateOverlayInfo.UNKNOW" class="py-name" href="#" onclick="return doclink('link-15', 'UNKNOW', 'link-15');">UNKNOW</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable validateoverlay.ValidateOverlayInfo.STILL_VALID=validateoverlay.ValidateOverlayInfo-class.html#STILL_VALID"><a title="validateoverlay.ValidateOverlayInfo.STILL_VALID" class="py-name" href="#" onclick="return doclink('link-16', 'STILL_VALID', 'link-16');">STILL_VALID</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt id="link-17" class="py-name" targets="Variable validateoverlay.ValidateOverlayInfo.MERGE=validateoverlay.ValidateOverlayInfo-class.html#MERGE"><a title="validateoverlay.ValidateOverlayInfo.MERGE" class="py-name" href="#" onclick="return doclink('link-17', 'MERGE', 'link-17');">MERGE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
<a name="ValidateOverlayInfo.__init__"></a><div id="ValidateOverlayInfo.__init__-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="ValidateOverlayInfo.__init__-toggle" onclick="return toggle('ValidateOverlayInfo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay.ValidateOverlayInfo-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">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="ValidateOverlayInfo.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ValidateOverlayInfo.__init__-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-18', 'name', 'link-11');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-19', 'name', 'link-11');">name</a></tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-comment">#self.status = status</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
</div></div><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
<a name="ValidateOverlay"></a><div id="ValidateOverlay-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="ValidateOverlay-toggle" onclick="return toggle('ValidateOverlay');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#ValidateOverlay">ValidateOverlay</a><tt class="py-op">(</tt><tt class="py-param">vproject</tt><tt class="py-op">,</tt> <tt class="py-param">vdir</tt><tt class="py-op">,</tt> <tt class="py-param">oproject</tt><tt class="py-op">,</tt> <tt class="py-param">odir</tt><tt class="py-op">,</tt> <tt class="py-param">extraobject</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="ValidateOverlay-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ValidateOverlay-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-docstring">""" This function scan an the virtual build area and the overlay to validate</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">        if the overlay content is still up to date compare to the delivery.</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">extraobject</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">extraobject</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"ValidateOverlay(%s,%s,%s,%s)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">vproject</tt><tt class="py-op">,</tt> <tt class="py-name">vdir</tt><tt class="py-op">,</tt> <tt class="py-name">oproject</tt><tt class="py-op">,</tt> <tt class="py-name">odir</tt><tt class="py-op">)</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-name">odir</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-20', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">'content'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">}</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">odir</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="ccm.Dir.children
virtualbuildarea.VirtualDir.children" class="py-name" href="#" onclick="return doclink('link-21', 'children', 'link-10');">children</a></tt><tt class="py-op">(</tt><tt class="py-name">oproject</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">o</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name" targets="Function validateoverlay.__findChild()=validateoverlay-module.html#__findChild"><a title="validateoverlay.__findChild" class="py-name" href="#" onclick="return doclink('link-22', '__findChild', 'link-22');">__findChild</a></tt><tt class="py-op">(</tt><tt class="py-name">vproject</tt><tt class="py-op">,</tt> <tt class="py-name">vdir</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-23', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">o</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-24', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'dir'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-25', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'project'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">oo</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name" targets="Function validateoverlay.__getDir()=validateoverlay-module.html#__getDir"><a title="validateoverlay.__getDir" class="py-name" href="#" onclick="return doclink('link-26', '__getDir', 'link-26');">__getDir</a></tt><tt class="py-op">(</tt><tt class="py-name">oproject</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-27" 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-27', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name" targets="Function validateoverlay.ValidateOverlay()=validateoverlay-module.html#ValidateOverlay"><a title="validateoverlay.ValidateOverlay" class="py-name" href="#" onclick="return doclink('link-28', 'ValidateOverlay', 'link-28');">ValidateOverlay</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">oo</tt><tt class="py-op">,</tt> <tt class="py-name">extraobject</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name" targets="Class validateoverlay.ValidateOverlayInfo=validateoverlay.ValidateOverlayInfo-class.html"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-29', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-30', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-31', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">info</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">else</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">if</tt> <tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-32', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'dir'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-33', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'project'</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">vp</tt><tt class="py-op">,</tt> <tt class="py-name">vo</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="validateoverlay.__getDir" class="py-name" href="#" onclick="return doclink('link-34', '__getDir', 'link-26');">__getDir</a></tt><tt class="py-op">(</tt><tt class="py-name">vproject</tt><tt class="py-op">,</tt> <tt class="py-name">o</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">op</tt><tt class="py-op">,</tt> <tt class="py-name">oo</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="validateoverlay.__getDir" class="py-name" href="#" onclick="return doclink('link-35', '__getDir', 'link-26');">__getDir</a></tt><tt class="py-op">(</tt><tt class="py-name">oproject</tt><tt class="py-op">,</tt> <tt class="py-name">child</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">result</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-36', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="validateoverlay.ValidateOverlay" class="py-name" href="#" onclick="return doclink('link-37', 'ValidateOverlay', 'link-28');">ValidateOverlay</a></tt><tt class="py-op">(</tt><tt class="py-name">vp</tt><tt class="py-op">,</tt> <tt class="py-name">vo</tt><tt class="py-op">,</tt> <tt class="py-name">op</tt><tt class="py-op">,</tt> <tt class="py-name">oo</tt><tt class="py-op">,</tt> <tt class="py-name">extraobject</tt><tt class="py-op">)</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">else</tt><tt class="py-op">:</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-38', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-39', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-40', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt id="link-41" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-41', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.UNKNOW" class="py-name" href="#" onclick="return doclink('link-42', 'UNKNOW', 'link-15');">UNKNOW</a></tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">:</tt> <tt class="py-name">o</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                 </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">eo</tt> <tt class="py-keyword">in</tt> <tt class="py-name">extraobject</tt><tt class="py-op">:</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">eo</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method ccm.FourPartName.is_same_family()=ccm.FourPartName-class.html#is_same_family"><a title="ccm.FourPartName.is_same_family" class="py-name" href="#" onclick="return doclink('link-43', 'is_same_family', 'link-43');">is_same_family</a></tt><tt class="py-op">(</tt><tt class="py-name">o</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                        <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-44', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt id="link-45" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-45', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.UNKNOW" class="py-name" href="#" onclick="return doclink('link-46', 'UNKNOW', 'link-15');">UNKNOW</a></tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">:</tt> <tt class="py-name">eo</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                 </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">delivery</tt> <tt class="py-keyword">in</tt> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">:</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method ccm.CCMObject.is_recursive_sucessor_of()=ccm.CCMObject-class.html#is_recursive_sucessor_of"><a title="ccm.CCMObject.is_recursive_sucessor_of" class="py-name" href="#" onclick="return doclink('link-47', 'is_recursive_sucessor_of', 'link-47');">is_recursive_sucessor_of</a></tt><tt class="py-op">(</tt><tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                        <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-48', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.STILL_VALID" class="py-name" href="#" onclick="return doclink('link-49', 'STILL_VALID', 'link-16');">STILL_VALID</a></tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                        <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-50', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.MERGE" class="py-name" href="#" onclick="return doclink('link-51', 'MERGE', 'link-17');">MERGE</a></tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="ccm.Folder.append
ccm.Task.append" class="py-name" href="#" onclick="return doclink('link-52', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">info</tt><tt class="py-op">)</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
<a name="getObjectPath"></a><div id="getObjectPath-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="getObjectPath-toggle" onclick="return toggle('getObjectPath');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#getObjectPath">getObjectPath</a><tt class="py-op">(</tt><tt class="py-param">project</tt><tt class="py-op">,</tt> <tt class="py-param">spath</tt><tt class="py-op">,</tt> <tt class="py-param">dir</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="getObjectPath-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="getObjectPath-expanded"><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt id="link-53" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-53', 'name', 'link-11');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">spath</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method log2xml.Stack.pop()=log2xml.Stack-class.html#pop"><a title="log2xml.Stack.pop" class="py-name" href="#" onclick="return doclink('link-54', 'pop', 'link-54');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">dir</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>         </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-55" class="py-name" targets="Method ccm.ProjectCheckoutResult.project()=ccm.ProjectCheckoutResult-class.html#project"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-55', 'project', 'link-55');">project</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="ccm.Project.root_dir
virtualbuildarea.VirtualProject.root_dir" class="py-name" href="#" onclick="return doclink('link-56', 'root_dir', 'link-14');">root_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-57', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-58" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-58', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-59" class="py-name" targets="Function validateoverlay.getObjectPath()=validateoverlay-module.html#getObjectPath"><a title="validateoverlay.getObjectPath" class="py-name" href="#" onclick="return doclink('link-59', 'getObjectPath', 'link-59');">getObjectPath</a></tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-60', 'project', 'link-55');">project</a></tt><tt class="py-op">,</tt> <tt class="py-name">spath</tt><tt class="py-op">,</tt> <tt id="link-61" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-61', 'project', 'link-55');">project</a></tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="ccm.Project.root_dir
virtualbuildarea.VirtualProject.root_dir" class="py-name" href="#" onclick="return doclink('link-62', 'root_dir', 'link-14');">root_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"project.root_dir().name.lower()!=name.lower():"</tt><tt class="py-op">)</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">o</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="ccm.Dir.children
virtualbuildarea.VirtualDir.children" class="py-name" href="#" onclick="return doclink('link-63', 'children', 'link-10');">children</a></tt><tt class="py-op">(</tt><tt id="link-64" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-64', 'project', 'link-55');">project</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">o</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-65', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-66" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-66', 'name', 'link-11');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">spath</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">o</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">o</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-67', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'dir'</tt><tt class="py-op">:</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt id="link-68" class="py-name"><a title="validateoverlay.getObjectPath" class="py-name" href="#" onclick="return doclink('link-68', 'getObjectPath', 'link-59');">getObjectPath</a></tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-69', 'project', 'link-55');">project</a></tt><tt class="py-op">,</tt> <tt class="py-name">spath</tt><tt class="py-op">,</tt> <tt class="py-name">o</tt><tt class="py-op">)</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Object could not be accessed"</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Object not found"</tt><tt class="py-op">)</tt> </tt>
</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">  </tt>
<a name="showBranchInfo"></a><div id="showBranchInfo-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="showBranchInfo-toggle" onclick="return toggle('showBranchInfo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#showBranchInfo">showBranchInfo</a><tt class="py-op">(</tt><tt class="py-param">logger</tt><tt class="py-op">,</tt> <tt class="py-param">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>     </tt>
</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="comments" class="py-name" href="#" onclick="return doclink('link-70', 'comments', 'link-1');">comments</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Class comments.CommentParser=comments.CommentParser-class.html"><a title="comments.CommentParser" class="py-name" href="#" onclick="return doclink('link-71', 'CommentParser', 'link-71');">CommentParser</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Static Method comments.CommentParser.scan_content()=comments.CommentParser-class.html#scan_content"><a title="comments.CommentParser.scan_content" class="py-name" href="#" onclick="return doclink('link-72', 'scan_content', 'link-72');">scan_content</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">object</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">object</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Method ccm.File.content()=ccm.File-class.html#content"><a title="ccm.File.content" class="py-name" href="#" onclick="return doclink('link-73', 'content', 'link-73');">content</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"branchInfo"</tt><tt class="py-op">)</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">commentLog</tt><tt class="py-op">.</tt><tt class="py-name">xml_xpath</tt><tt class="py-op">(</tt><tt class="py-string">'branchInfo'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">&gt;</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">commentLog</tt><tt class="py-op">.</tt><tt class="py-name">xml_xpath</tt><tt class="py-op">(</tt><tt class="py-string">'branchInfo'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt id="link-74" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-74', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">PrintRaw</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;b&gt;Branch Information:&lt;/b&gt;\n"</tt><tt class="py-op">)</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-string">'xml_attributes'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">xml_attributes</tt><tt class="py-op">:</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                    <tt id="link-75" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-75', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">PrintRaw</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;b&gt;%s:&lt;/b&gt; %s\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">,</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-string">'branch'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                        <tt id="link-76" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-76', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">PrintRaw</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;b&gt;Should validate compare to file:&lt;/b&gt; %s\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">branch</tt><tt class="py-op">)</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt id="link-77" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-77', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Print</tt><tt class="py-op">(</tt><tt class="py-string">"No branch info...\n"</tt><tt class="py-op">)</tt> </tt>
</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
<a name="showValidity"></a><div id="showValidity-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="showValidity-toggle" onclick="return toggle('showValidity');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#showValidity">showValidity</a><tt class="py-op">(</tt><tt class="py-param">logger</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="showValidity-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="showValidity-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt id="link-78" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-78', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">NotFound</tt><tt class="py-op">(</tt><tt class="py-string">"Could not find %s relative objects."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>                 </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">delivery</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">:</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-79" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-79', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.MERGE" class="py-name" href="#" onclick="return doclink('link-80', 'MERGE', 'link-17');">MERGE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt id="link-81" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-81', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Merge</tt><tt class="py-op">(</tt><tt class="py-string">"Overlay object %s requires a merge with %s."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">,</tt> <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-82" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-82', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.STILL_VALID" class="py-name" href="#" onclick="return doclink('link-83', 'STILL_VALID', 'link-16');">STILL_VALID</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                <tt id="link-84" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-84', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Valid</tt><tt class="py-op">(</tt><tt class="py-string">"%s is still a successor of %s."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">,</tt> <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">     </tt>
<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
<a name="showValidateOverlayInfo"></a><div id="showValidateOverlayInfo-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="showValidateOverlayInfo-toggle" onclick="return toggle('showValidateOverlayInfo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#showValidateOverlayInfo">showValidateOverlayInfo</a><tt class="py-op">(</tt><tt class="py-param">logger</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">comments</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="showValidateOverlayInfo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="showValidateOverlayInfo-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt id="link-85" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-85', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method helium.logger.Logger.OpenEvent()=helium.logger.Logger-class.html#OpenEvent"><a title="helium.logger.Logger.OpenEvent" class="py-name" href="#" onclick="return doclink('link-86', 'OpenEvent', 'link-86');">OpenEvent</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">o</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</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">o</tt><tt class="py-op">,</tt> <tt id="link-87" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-87', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt>             </tt>
<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt id="link-88" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-88', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="helium.logger.Logger.OpenEvent" class="py-name" href="#" onclick="return doclink('link-89', 'OpenEvent', 'link-86');">OpenEvent</a></tt><tt class="py-op">(</tt><tt class="py-name">o</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-90', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt id="link-91" class="py-name" targets="Function validateoverlay.showValidity()=validateoverlay-module.html#showValidity"><a title="validateoverlay.showValidity" class="py-name" href="#" onclick="return doclink('link-91', 'showValidity', 'link-91');">showValidity</a></tt><tt class="py-op">(</tt><tt id="link-92" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-92', 'logger', 'link-3');">logger</a></tt><tt class="py-op">,</tt> <tt class="py-name">o</tt><tt class="py-op">)</tt>                     </tt>
<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-comment"># Showing branch information.</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">if</tt> <tt id="link-93" class="py-name"><a title="comments" class="py-name" href="#" onclick="return doclink('link-93', 'comments', 'link-1');">comments</a></tt><tt class="py-op">:</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt id="link-94" class="py-name" targets="Function validateoverlay.showBranchInfo()=validateoverlay-module.html#showBranchInfo"><a title="validateoverlay.showBranchInfo" class="py-name" href="#" onclick="return doclink('link-94', 'showBranchInfo', 'link-94');">showBranchInfo</a></tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-95', 'logger', 'link-3');">logger</a></tt><tt class="py-op">,</tt> <tt class="py-name">o</tt><tt class="py-op">)</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt id="link-96" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-96', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method helium.logger.Logger.CloseEvent()=helium.logger.Logger-class.html#CloseEvent"><a title="helium.logger.Logger.CloseEvent" class="py-name" href="#" onclick="return doclink('link-97', 'CloseEvent', 'link-97');">CloseEvent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt id="link-98" class="py-name" targets="Function validateoverlay.showValidateOverlayInfo()=validateoverlay-module.html#showValidateOverlayInfo"><a title="validateoverlay.showValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-98', 'showValidateOverlayInfo', 'link-98');">showValidateOverlayInfo</a></tt><tt class="py-op">(</tt><tt id="link-99" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-99', 'logger', 'link-3');">logger</a></tt><tt class="py-op">,</tt> <tt class="py-name">o</tt><tt class="py-op">,</tt> <tt id="link-100" class="py-name"><a title="comments" class="py-name" href="#" onclick="return doclink('link-100', 'comments', 'link-1');">comments</a></tt><tt class="py-op">)</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt id="link-101" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-101', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="helium.logger.Logger.CloseEvent" class="py-name" href="#" onclick="return doclink('link-102', 'CloseEvent', 'link-97');">CloseEvent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
<a name="mergeObjects"></a><div id="mergeObjects-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="mergeObjects-toggle" onclick="return toggle('mergeObjects');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#mergeObjects">mergeObjects</a><tt class="py-op">(</tt><tt class="py-param">logger</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">task</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="mergeObjects-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mergeObjects-expanded"><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'content'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</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">obj</tt><tt class="py-op">,</tt> <tt id="link-103" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-103', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">mergedobject</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">delivery</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">deliveryObjects</tt><tt class="py-op">:</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-104" class="py-name"><a title="validateoverlay.ValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-104', 'ValidateOverlayInfo', 'link-29');">ValidateOverlayInfo</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="validateoverlay.ValidateOverlayInfo.MERGE" class="py-name" href="#" onclick="return doclink('link-105', 'MERGE', 'link-17');">MERGE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mergedobject</tt><tt class="py-op">:</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                            <tt class="py-op">(</tt><tt class="py-name">mergedobject</tt><tt class="py-op">,</tt> <tt class="py-name">validity</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method ccm.File.merge()=ccm.File-class.html#merge,Method symrec.MetadataMerger.merge()=symrec.MetadataMerger-class.html#merge"><a title="ccm.File.merge
symrec.MetadataMerger.merge" class="py-name" href="#" onclick="return doclink('link-106', 'merge', 'link-106');">merge</a></tt><tt class="py-op">(</tt><tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-107" class="py-name" targets="Method build.io.AbldLogWhatReader.task()=build.io.AbldLogWhatReader-class.html#task,Method integration.quality.AbldWhatParser.task()=integration.quality.AbldWhatParser-class.html#task,Method integration.quality.InternalExportParser.task()=integration.quality.InternalExportParser-class.html#task,Method symbian.log.Parser.task()=symbian.log.Parser-class.html#task"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-107', 'task', 'link-107');">task</a></tt><tt class="py-op">)</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                            <tt class="py-name">mergedobject</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Method ccm.File.checkin()=ccm.File-class.html#checkin"><a title="ccm.File.checkin" class="py-name" href="#" onclick="return doclink('link-108', 'checkin', 'link-108');">checkin</a></tt><tt class="py-op">(</tt><tt class="py-string">'public'</tt><tt class="py-op">,</tt> <tt class="py-string">'Makes object public.'</tt><tt class="py-op">)</tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                            <tt id="link-109" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-109', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Print</tt><tt class="py-op">(</tt><tt class="py-string">"%s (%s, %s)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">mergedobject</tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">,</tt> <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                            <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method ccm.CCMObject.relate()=ccm.CCMObject-class.html#relate"><a title="ccm.CCMObject.relate" class="py-name" href="#" onclick="return doclink('link-110', 'relate', 'link-110');">relate</a></tt><tt class="py-op">(</tt><tt class="py-name">mergedobject</tt><tt class="py-op">)</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                            <tt id="link-111" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-111', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Print</tt><tt class="py-op">(</tt><tt class="py-string">"%s (%s, %s)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">mergedobject</tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">overlayObject</tt><tt class="py-op">,</tt> <tt class="py-name">delivery</tt><tt class="py-op">[</tt><tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                            <tt class="py-comment">#mergedobject</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-comment"></tt>                    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                        <tt id="link-112" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-112', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">Error</tt><tt class="py-op">(</tt><tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-comment">#            if o.status == ValidateOverlayInfo.MERGE:            </tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                try:</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    (object, validity) = o.overlayObject.merge(o.deliveryObject, task)</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    object.checkin('public', 'Makes object public.')</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##                   logger.Print("%s (%s, %s)" % (object, o.overlayObject, o.deliveryObject))</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                except Exception, e:</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    logger.Error("%s" % e)</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt id="link-113" class="py-name" targets="Function validateoverlay.mergeObjects()=validateoverlay-module.html#mergeObjects"><a title="validateoverlay.mergeObjects" class="py-name" href="#" onclick="return doclink('link-113', 'mergeObjects', 'link-113');">mergeObjects</a></tt><tt class="py-op">(</tt><tt id="link-114" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-114', 'logger', 'link-3');">logger</a></tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">,</tt> <tt id="link-115" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-115', 'task', 'link-107');">task</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
<a name="validate"></a><div id="validate-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="validate-toggle" onclick="return toggle('validate');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#validate">validate</a><tt class="py-op">(</tt><tt class="py-param">session</tt><tt class="py-op">,</tt> <tt class="py-param">inputfile</tt><tt class="py-op">,</tt> <tt class="py-param">overlaydir</tt><tt class="py-op">,</tt> <tt class="py-param">showBranchInfo</tt><tt class="py-op">,</tt> <tt class="py-param">createtask</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">releasetag</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">extra_objects</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logname</tt> <tt class="py-op">=</tt> <tt class="py-string">"validate_overlay"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="validate-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="validate-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">""" Validate an overlay uisng data from the inputfile to generate the virtual build area. """</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-name">vba</tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="virtualbuildarea" class="py-name" href="#" onclick="return doclink('link-116', 'virtualbuildarea', 'link-9');">virtualbuildarea</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method ccm.AbstractSession.create()=ccm.AbstractSession-class.html#create,Static Method ccm.Task.create()=ccm.Task-class.html#create,Function virtualbuildarea.create()=virtualbuildarea-module.html#create"><a title="ccm.AbstractSession.create
ccm.Task.create
virtualbuildarea.create" class="py-name" href="#" onclick="return doclink('link-117', 'create', 'link-117');">create</a></tt><tt class="py-op">(</tt><tt id="link-118" class="py-name" targets="Method build.model.SessionCreator.session()=build.model.SessionCreator-class.html#session,Method ccm.CCMObject.session()=ccm.CCMObject-class.html#session,Method preparation.PreparationBuilder.session()=preparation.PreparationBuilder-class.html#session"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-118', 'session', 'link-118');">session</a></tt><tt class="py-op">,</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">inputfile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">overlaydir</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">extra_objects</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">extra_objects</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">    <tt class="py-name">overlay</tt> <tt class="py-op">=</tt> <tt id="link-119" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-119', 'session', 'link-118');">session</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method ccm.AbstractSession.get_workarea_info()=ccm.AbstractSession-class.html#get_workarea_info"><a title="ccm.AbstractSession.get_workarea_info" class="py-name" href="#" onclick="return doclink('link-120', 'get_workarea_info', 'link-120');">get_workarea_info</a></tt><tt class="py-op">(</tt><tt class="py-name">overlaydir</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'project'</tt><tt class="py-op">]</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-name">voresult</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name"><a title="validateoverlay.ValidateOverlay" class="py-name" href="#" onclick="return doclink('link-121', 'ValidateOverlay', 'link-28');">ValidateOverlay</a></tt><tt class="py-op">(</tt><tt class="py-name">vba</tt><tt class="py-op">,</tt> <tt class="py-name">vba</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="ccm.Project.root_dir
virtualbuildarea.VirtualProject.root_dir" class="py-name" href="#" onclick="return doclink('link-122', 'root_dir', 'link-14');">root_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">overlay</tt><tt class="py-op">,</tt> <tt id="link-123" class="py-name"><a title="validateoverlay.getObjectPath" class="py-name" href="#" onclick="return doclink('link-123', 'getObjectPath', 'link-59');">getObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-name">overlay</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">overlay</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-124', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">'common'</tt><tt class="py-op">,</tt> <tt class="py-string">'files'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">extra_objects</tt><tt class="py-op">)</tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="helium" class="py-name" href="#" onclick="return doclink('link-125', 'helium', 'link-2');">helium</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="archive.scanners.logger
archive.selectors.logger
buildmanagement.logger
flash_config.logger
helium.logger
imaker.iqrf.logger
integration.templatebuilder.logger
rom.logger" class="py-name" href="#" onclick="return doclink('link-126', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Class helium.logger.Logger=helium.logger.Logger-class.html"><a title="helium.logger.Logger" class="py-name" href="#" onclick="return doclink('link-127', 'Logger', 'link-127');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name" targets="Method helium.logger.Logger.SetInterface()=helium.logger.Logger-class.html#SetInterface"><a title="helium.logger.Logger.SetInterface" class="py-name" href="#" onclick="return doclink('link-128', 'SetInterface', 'link-128');">SetInterface</a></tt><tt class="py-op">(</tt><tt class="py-string">"http://fawww.europe.nokia.com/isis/isis_interface/"</tt><tt class="py-op">)</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method helium.logger.Logger.SetTitle()=helium.logger.Logger-class.html#SetTitle"><a title="helium.logger.Logger.SetTitle" class="py-name" href="#" onclick="return doclink('link-129', 'SetTitle', 'link-129');">SetTitle</a></tt><tt class="py-op">(</tt><tt class="py-string">"Validate Overlay"</tt><tt class="py-op">)</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method helium.logger.Logger.SetSubTitle()=helium.logger.Logger-class.html#SetSubTitle"><a title="helium.logger.Logger.SetSubTitle" class="py-name" href="#" onclick="return doclink('link-130', 'SetSubTitle', 'link-130');">SetSubTitle</a></tt><tt class="py-op">(</tt><tt class="py-string">"Validating: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">overlay</tt><tt class="py-op">)</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method helium.logger.Logger.OpenMainContent()=helium.logger.Logger-class.html#OpenMainContent"><a title="helium.logger.Logger.OpenMainContent" class="py-name" href="#" onclick="return doclink('link-131', 'OpenMainContent', 'link-131');">OpenMainContent</a></tt><tt class="py-op">(</tt><tt class="py-string">"Analysing %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">overlay</tt><tt class="py-op">)</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt id="link-132" class="py-name"><a title="validateoverlay.showValidateOverlayInfo" class="py-name" href="#" onclick="return doclink('link-132', 'showValidateOverlayInfo', 'link-98');">showValidateOverlayInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">mclogger</tt><tt class="py-op">,</tt> <tt class="py-name">voresult</tt><tt class="py-op">,</tt> <tt id="link-133" class="py-name"><a title="validateoverlay.showBranchInfo" class="py-name" href="#" onclick="return doclink('link-133', 'showBranchInfo', 'link-94');">showBranchInfo</a></tt><tt class="py-op">)</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method helium.logger.Logger.CloseMainContent()=helium.logger.Logger-class.html#CloseMainContent"><a title="helium.logger.Logger.CloseMainContent" class="py-name" href="#" onclick="return doclink('link-134', 'CloseMainContent', 'link-134');">CloseMainContent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">createtask</tt> <tt class="py-keyword">and</tt> <tt class="py-name">releasetag</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="helium.logger.Logger.OpenMainContent" class="py-name" href="#" onclick="return doclink('link-135', 'OpenMainContent', 'link-131');">OpenMainContent</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating merge task"</tt><tt class="py-op">)</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">team</tt> <tt class="py-op">=</tt> <tt class="py-string">'TEAM_NAME'</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'TEAM'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">team</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'TEAM'</tt><tt class="py-op">]</tt>             </tt>
<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt id="link-136" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-136', 'task', 'link-107');">task</a></tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="ccm" class="py-name" href="#" onclick="return doclink('link-137', 'ccm', 'link-0');">ccm</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name" targets="Class build.model.Task=build.model.Task-class.html,Class buildtools.Task=buildtools.Task-class.html,Class ccm.Task=ccm.Task-class.html,Class sysdef.api.Task=sysdef.api.Task-class.html"><a title="build.model.Task
buildtools.Task
ccm.Task
sysdef.api.Task" class="py-name" href="#" onclick="return doclink('link-138', 'Task', 'link-138');">Task</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="ccm.AbstractSession.create
ccm.Task.create
virtualbuildarea.create" class="py-name" href="#" onclick="return doclink('link-139', 'create', 'link-117');">create</a></tt><tt class="py-op">(</tt><tt id="link-140" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-140', 'session', 'link-118');">session</a></tt><tt class="py-op">,</tt> <tt id="link-141" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-141', 'session', 'link-118');">session</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="ccm.AbstractSession.create
ccm.Task.create
virtualbuildarea.create" class="py-name" href="#" onclick="return doclink('link-142', 'create', 'link-117');">create</a></tt><tt class="py-op">(</tt><tt class="py-name">releasetag</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"%s: %s: %s: Merge task"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">team</tt><tt class="py-op">,</tt> <tt class="py-name">overlay</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="buildtools.Command.name
ccm.FourPartName.name
symrec.ServicePack.name
sysdef.api.Configuration.name
sysdef.api.Option.name
sysdef.api.SpecialInstruction.name
sysdef.api.Target.name
sysdef.api.TargetList.name
sysdef.api.Unit.name
sysdef.api._UnitGroup.name" class="py-name" href="#" onclick="return doclink('link-143', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'USERNAME'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-comment">#task = session.create("Task fa1f5132#17458")</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt id="link-144" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-144', 'task', 'link-107');">task</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method ccm.Task.assign()=ccm.Task-class.html#assign"><a title="ccm.Task.assign" class="py-name" href="#" onclick="return doclink('link-145', 'assign', 'link-145');">assign</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'USERNAME'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt class="py-name">Print</tt><tt class="py-op">(</tt><tt class="py-string">"Created task %s.\n"</tt> <tt class="py-op">%</tt> <tt id="link-146" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-146', 'task', 'link-107');">task</a></tt><tt class="py-op">[</tt><tt class="py-string">'displayname'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt id="link-147" class="py-name"><a title="validateoverlay.mergeObjects" class="py-name" href="#" onclick="return doclink('link-147', 'mergeObjects', 'link-113');">mergeObjects</a></tt><tt class="py-op">(</tt><tt class="py-name">mclogger</tt><tt class="py-op">,</tt> <tt class="py-name">voresult</tt><tt class="py-op">,</tt> <tt id="link-148" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-148', 'task', 'link-107');">task</a></tt><tt class="py-op">)</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">traceback</tt><tt class="py-op">.</tt><tt class="py-name">print_exc</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt><tt class="py-op">)</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt class="py-name">Error</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="helium.logger.Logger.CloseMainContent" class="py-name" href="#" onclick="return doclink('link-149', 'CloseMainContent', 'link-134');">CloseMainContent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">     </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">    <tt class="py-name">mclogger</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method helium.logger.Logger.WriteToFile()=helium.logger.Logger-class.html#WriteToFile,Method helium.outputer.XML2XHTML.WriteToFile()=helium.outputer.XML2XHTML-class.html#WriteToFile"><a title="helium.logger.Logger.WriteToFile
helium.outputer.XML2XHTML.WriteToFile" class="py-name" href="#" onclick="return doclink('link-150', 'WriteToFile', 'link-150');">WriteToFile</a></tt><tt class="py-op">(</tt><tt class="py-name">logname</tt> <tt class="py-op">+</tt> <tt class="py-string">".xml"</tt><tt class="py-op">)</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-151" class="py-name"><a title="helium.outputer.XML2XHTML" class="py-name" href="#" onclick="return doclink('link-151', 'XML2XHTML', 'link-6');">XML2XHTML</a></tt><tt class="py-op">(</tt><tt class="py-name">logname</tt><tt class="py-op">+</tt><tt class="py-string">".xml"</tt><tt class="py-op">)</tt>     </tt>
<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name" targets="Method helium.outputer.XML2XHTML.addCSSLink()=helium.outputer.XML2XHTML-class.html#addCSSLink"><a title="helium.outputer.XML2XHTML.addCSSLink" class="py-name" href="#" onclick="return doclink('link-152', 'addCSSLink', 'link-152');">addCSSLink</a></tt><tt class="py-op">(</tt><tt class="py-string">"http://fawww.europe.nokia.com/isis/isis_interface/css/overlaycheck.css"</tt><tt class="py-op">)</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method ats3.aste.AsteTestDropGenerator.generate()=ats3.aste.AsteTestDropGenerator-class.html#generate,Method ats3.dropgenerator.Ats3TestDropGenerator.generate()=ats3.dropgenerator.Ats3TestDropGenerator-class.html#generate,Method helium.outputer.XML2XHTML.generate()=helium.outputer.XML2XHTML-class.html#generate"><a title="ats3.aste.AsteTestDropGenerator.generate
ats3.dropgenerator.Ats3TestDropGenerator.generate
helium.outputer.XML2XHTML.generate" class="py-name" href="#" onclick="return doclink('link-153', 'generate', 'link-153');">generate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="helium.logger.Logger.WriteToFile
helium.outputer.XML2XHTML.WriteToFile" class="py-name" href="#" onclick="return doclink('link-154', 'WriteToFile', 'link-150');">WriteToFile</a></tt><tt class="py-op">(</tt><tt class="py-name">logname</tt> <tt class="py-op">+</tt> <tt class="py-string">".html"</tt><tt class="py-op">)</tt> </tt>
</div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"> </tt>
<a name="main"></a><div id="main-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="main-toggle" onclick="return toggle('main');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#main">main</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="main-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="main-expanded"><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">    <tt class="py-name">usage</tt> <tt class="py-op">=</tt> <tt class="py-string">"usage: %prog [options] arg1 arg2"</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">optparse</tt><tt class="py-op">.</tt><tt class="py-name">OptionParser</tt><tt class="py-op">(</tt><tt class="py-name">usage</tt><tt class="py-op">=</tt><tt class="py-name">usage</tt><tt class="py-op">)</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"--host"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"ccm_host"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Synergy Host"</tt><tt class="py-op">)</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"-d"</tt><tt class="py-op">,</tt> <tt class="py-string">"--db"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"ccm_db"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Synergy database"</tt><tt class="py-op">)</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"-u"</tt><tt class="py-op">,</tt> <tt class="py-string">"--username"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"ccm_login"</tt><tt class="py-op">,</tt>  <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt>                     </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Synergy username"</tt><tt class="py-op">)</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"-p"</tt><tt class="py-op">,</tt> <tt class="py-string">"--password"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"ccm_password"</tt><tt class="py-op">,</tt>  <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt>                     </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Synergy user password"</tt><tt class="py-op">)</tt>     </tt>
<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"-c"</tt><tt class="py-op">,</tt>  <tt class="py-string">"--config"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"inputfile"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Configuration file"</tt><tt class="py-op">,</tt> <tt class="py-name">metavar</tt><tt class="py-op">=</tt><tt class="py-string">"PATH"</tt><tt class="py-op">)</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"-o"</tt><tt class="py-op">,</tt> <tt class="py-string">"--overlay"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"overlaydir"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Overlay work area directory"</tt><tt class="py-op">,</tt> <tt class="py-name">metavar</tt><tt class="py-op">=</tt><tt class="py-string">"PATH"</tt><tt class="py-op">)</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"--showBranchInfo"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"showBranchInfo"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store_true"</tt><tt class="py-op">,</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Show up branch information"</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"--ct"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"createtask"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store_true"</tt><tt class="py-op">,</tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Create merge task"</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">add_option</tt><tt class="py-op">(</tt><tt class="py-string">"--rt"</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">=</tt><tt class="py-string">"releasetag"</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">"store"</tt><tt class="py-op">,</tt> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                                <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">"Release tag"</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt id="link-155" class="py-name" targets="Method sysdef.api.SystemDefinition.options()=sysdef.api.SystemDefinition-class.html#options"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-155', 'options', 'link-155');">options</a></tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">parse_args</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt id="link-156" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-156', 'session', 'link-118');">session</a></tt> <tt class="py-op">=</tt> <tt id="link-157" class="py-name"><a title="nokia" class="py-name" href="#" onclick="return doclink('link-157', 'nokia', 'link-7');">nokia</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="nokia.nokiaccm" class="py-name" href="#" onclick="return doclink('link-158', 'nokiaccm', 'link-8');">nokiaccm</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name" targets="Function ccm.open_session()=ccm-module.html#open_session,Function nokia.nokiaccm.open_session()=nokia.nokiaccm-module.html#open_session"><a title="ccm.open_session
nokia.nokiaccm.open_session" class="py-name" href="#" onclick="return doclink('link-159', 'open_session', 'link-159');">open_session</a></tt><tt class="py-op">(</tt><tt id="link-160" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-160', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">ccm_login</tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-161', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">ccm_password</tt><tt class="py-op">,</tt> <tt id="link-162" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-162', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">ccm_host</tt><tt class="py-op">,</tt> <tt id="link-163" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-163', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">ccm_db</tt><tt class="py-op">)</tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt id="link-164" class="py-name" targets="Method integration.quality.PolicyValidator.validate()=integration.quality.PolicyValidator-class.html#validate,Function validateoverlay.validate()=validateoverlay-module.html#validate"><a title="integration.quality.PolicyValidator.validate
validateoverlay.validate" class="py-name" href="#" onclick="return doclink('link-164', 'validate', 'link-164');">validate</a></tt><tt class="py-op">(</tt><tt id="link-165" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-165', 'session', 'link-118');">session</a></tt><tt class="py-op">,</tt> <tt id="link-166" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-166', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">inputfile</tt><tt class="py-op">,</tt> <tt id="link-167" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-167', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">overlaydir</tt><tt class="py-op">,</tt> <tt id="link-168" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-168', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="validateoverlay.showBranchInfo" class="py-name" href="#" onclick="return doclink('link-169', 'showBranchInfo', 'link-94');">showBranchInfo</a></tt><tt class="py-op">,</tt> <tt id="link-170" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-170', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">createtask</tt><tt class="py-op">,</tt> <tt id="link-171" class="py-name"><a title="sysdef.api.SystemDefinition.options" class="py-name" href="#" onclick="return doclink('link-171', 'options', 'link-155');">options</a></tt><tt class="py-op">.</tt><tt class="py-name">releasetag</tt><tt class="py-op">)</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt id="link-172" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-172', 'session', 'link-118');">session</a></tt><tt class="py-op">.</tt><tt id="link-173" class="py-name" targets="Method build.model.BOM.close()=build.model.BOM-class.html#close,Method build.model.SessionCreator.close()=build.model.SessionCreator-class.html#close,Method buildtools.AbstractOutputWriter.close()=buildtools.AbstractOutputWriter-class.html#close,Method ccm.AbstractSession.close()=ccm.AbstractSession-class.html#close,Method ccm.Session.close()=ccm.Session-class.html#close,Method ccm.SessionPool.close()=ccm.SessionPool-class.html#close,Method ccm.extra.CachedSessionProvider.close()=ccm.extra.CachedSessionProvider-class.html#close,Method ccm.extra.SessionProvider.close()=ccm.extra.SessionProvider-class.html#close,Method log2xml.LogWriter.close()=log2xml.LogWriter-class.html#close,Method preparation.PreparationBuilder.close()=preparation.PreparationBuilder-class.html#close,Method sysdef.io.FlashImageSizeWriter.close()=sysdef.io.FlashImageSizeWriter-class.html#close"><a title="build.model.BOM.close
build.model.SessionCreator.close
buildtools.AbstractOutputWriter.close
ccm.AbstractSession.close
ccm.Session.close
ccm.SessionPool.close
ccm.extra.CachedSessionProvider.close
ccm.extra.SessionProvider.close
log2xml.LogWriter.close
preparation.PreparationBuilder.close
sysdef.io.FlashImageSizeWriter.close" class="py-name" href="#" onclick="return doclink('link-173', 'close', 'link-173');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt id="link-174" class="py-name" targets="Function CreateZipInput.main()=CreateZipInput-module.html#main,Function ats3.aste.main()=ats3.aste-module.html#main,Function ats3.main()=ats3-module.html#main,Function precompile.main()=precompile-module.html#main,Function validateoverlay.main()=validateoverlay-module.html#main"><a title="CreateZipInput.main
ats3.aste.main
ats3.main
precompile.main
validateoverlay.main" class="py-name" href="#" onclick="return doclink('link-174', 'main', 'link-174');">main</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-comment">#vba = virtualbuildarea.VirtualProject(session,'vba')</tt> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-comment">#try:</tt> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    #dom = xml.dom.minidom.parse(input)</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    dom = xml.dom.minidom.parseString(input)</tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#except Exception, e:</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    raise Exception("XML cannot be parsed properly %s" % e)</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#virtualBA = dom.documentElement</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#for child in virtualBA.childNodes:</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    if (child.nodeType == xml.dom.Node.ELEMENT_NODE) and (child.nodeName=='add'):</tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#        print "add node :%s (%d)" % (child.getAttribute('project'),len(child.childNodes))</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#        pathobject = createVirtualPath(child.getAttribute('to').split('/'),vba)</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#        if len(child.childNodes)==0:</tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#            p = session.create(child.getAttribute('project'))</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#            pathobject.addChild(p,p)</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#        else:</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#            project = session.create(child.getAttribute('project'))</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#            for subChild in child.childNodes:</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                if (subChild.nodeType == xml.dom.Node.ELEMENT_NODE) and (subChild.nodeName=='objects'):</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    spath = removeEmptyStrings(subChild.getAttribute('from').split('/'))</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    for t in getObjects(project,spath):</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                        pathobject.addChild(t['object'],t['project'])</tt> </tt>
<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#                    </tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-comment">#print "******************************************"</tt> </tt>
<a name="showVirtualContent"></a><div id="showVirtualContent-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="showVirtualContent-toggle" onclick="return toggle('showVirtualContent');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#showVirtualContent">showVirtualContent</a><tt class="py-op">(</tt><tt class="py-param">project</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">indent</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="showVirtualContent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="showVirtualContent-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name" targets="Method buildtools.Command.path()=buildtools.Command-class.html#path,Method sysdef.api.SpecialInstruction.path()=sysdef.api.SpecialInstruction-class.html#path,Method sysdef.api.Unit.path()=sysdef.api.Unit-class.html#path"><a title="buildtools.Command.path
sysdef.api.SpecialInstruction.path
sysdef.api.Unit.path" class="py-name" href="#" onclick="return doclink('link-175', 'path', 'link-175');">path</a></tt><tt class="py-op">,</tt> <tt id="link-176" class="py-name"><a title="virtualbuildarea" class="py-name" href="#" onclick="return doclink('link-176', 'virtualbuildarea', 'link-9');">virtualbuildarea</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name" targets="Class virtualbuildarea.VirtualDir=virtualbuildarea.VirtualDir-class.html"><a title="virtualbuildarea.VirtualDir" class="py-name" href="#" onclick="return doclink('link-177', 'VirtualDir', 'link-177');">VirtualDir</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"%s+ %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">indent</tt><tt class="py-op">,</tt> <tt id="link-178" class="py-name"><a title="buildtools.Command.path
sysdef.api.SpecialInstruction.path
sysdef.api.Unit.path" class="py-name" href="#" onclick="return doclink('link-178', 'path', 'link-175');">path</a></tt><tt class="py-op">)</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">    <tt class="py-name">indent</tt> <tt class="py-op">+=</tt> <tt class="py-string">"   "</tt> </tt>
<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">in</tt> <tt id="link-179" class="py-name"><a title="buildtools.Command.path
sysdef.api.SpecialInstruction.path
sysdef.api.Unit.path" class="py-name" href="#" onclick="return doclink('link-179', 'path', 'link-175');">path</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="ccm.Dir.children
virtualbuildarea.VirtualDir.children" class="py-name" href="#" onclick="return doclink('link-180', 'children', 'link-10');">children</a></tt><tt class="py-op">(</tt><tt id="link-181" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-181', 'project', 'link-55');">project</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt>         </tt>
<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="ccm.FourPartName.type" class="py-name" href="#" onclick="return doclink('link-182', 'type', 'link-13');">type</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'dir'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt id="link-183" class="py-name" targets="Function validateoverlay.showVirtualContent()=validateoverlay-module.html#showVirtualContent"><a title="validateoverlay.showVirtualContent" class="py-name" href="#" onclick="return doclink('link-183', 'showVirtualContent', 'link-183');">showVirtualContent</a></tt><tt class="py-op">(</tt><tt id="link-184" class="py-name"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-184', 'project', 'link-55');">project</a></tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">,</tt> <tt class="py-name">indent</tt><tt class="py-op">)</tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"%s- %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">indent</tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
</div><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">     </tt>
<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-comment">#showVirtualContent(vba, vba.root_dir())</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="get_additional_delivery_objects"></a><div id="get_additional_delivery_objects-def"><a name="L295"></a><tt class="py-lineno">295</tt> <a class="py-toggle" href="#" id="get_additional_delivery_objects-toggle" onclick="return toggle('get_additional_delivery_objects');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="validateoverlay-module.html#get_additional_delivery_objects">get_additional_delivery_objects</a><tt class="py-op">(</tt><tt class="py-param">session</tt><tt class="py-op">,</tt> <tt class="py-param">deliveryinput</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="get_additional_delivery_objects-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_additional_delivery_objects-expanded"><a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt id="link-185" class="py-name" targets="Method ccm.Folder.objects()=ccm.Folder-class.html#objects,Method ccm.Task.objects()=ccm.Task-class.html#objects"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-185', 'objects', 'link-185');">objects</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-name">delivery</tt> <tt class="py-op">=</tt> <tt class="py-name">amara</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name" targets="Method bsf.BSF.parse()=bsf.BSF-class.html#parse,Method symbian.log.Parser.parse()=symbian.log.Parser-class.html#parse"><a title="bsf.BSF.parse
symbian.log.Parser.parse" class="py-name" href="#" onclick="return doclink('link-186', 'parse', 'link-186');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">deliveryinput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">delivery</tt><tt class="py-op">.</tt><tt class="py-name">xml_xpath</tt><tt class="py-op">(</tt><tt class="py-string">'/deliveryConfiguration//task[@id]'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-187" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-187', 'task', 'link-107');">task</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name" targets="Method sysdef.api.Unit.id()=sysdef.api.Unit-class.html#id"><a title="sysdef.api.Unit.id" class="py-name" href="#" onclick="return doclink('link-188', 'id', 'link-188');">id</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt id="link-189" class="py-name"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-189', 'objects', 'link-185');">objects</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-190" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-190', 'session', 'link-118');">session</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="ccm.AbstractSession.create
ccm.Task.create
virtualbuildarea.create" class="py-name" href="#" onclick="return doclink('link-191', 'create', 'link-117');">create</a></tt><tt class="py-op">(</tt><tt class="py-string">"Task %s"</tt> <tt class="py-op">%</tt> <tt id="link-192" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-192', 'task', 'link-107');">task</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-193', 'objects', 'link-185');">objects</a></tt><tt class="py-op">)</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">delivery</tt><tt class="py-op">.</tt><tt class="py-name">xml_xpath</tt><tt class="py-op">(</tt><tt class="py-string">'/deliveryConfiguration//folder[@id]'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">folder</tt> <tt class="py-keyword">in</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="sysdef.api.Unit.id" class="py-name" href="#" onclick="return doclink('link-194', 'id', 'link-188');">id</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt id="link-195" class="py-name"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-195', 'objects', 'link-185');">objects</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-196" class="py-name"><a title="build.model.SessionCreator.session
ccm.CCMObject.session
preparation.PreparationBuilder.session" class="py-name" href="#" onclick="return doclink('link-196', 'session', 'link-118');">session</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="ccm.AbstractSession.create
ccm.Task.create
virtualbuildarea.create" class="py-name" href="#" onclick="return doclink('link-197', 'create', 'link-117');">create</a></tt><tt class="py-op">(</tt><tt class="py-string">"Folder %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">folder</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-198', 'objects', 'link-185');">objects</a></tt><tt class="py-op">)</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-199" class="py-name"><a title="ccm.Folder.objects
ccm.Task.objects" class="py-name" href="#" onclick="return doclink('link-199', 'objects', 'link-185');">objects</a></tt> </tt>
</div><a name="L305"></a><tt class="py-lineno">305</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>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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:20 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>