<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
- <title>src.product — salomeTools 5.0.0dev documentation</title>
-
+ <title>src.product — salomeTools 5.0.0dev documentation</title>
<link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '../../',
- VERSION: '5.0.0dev',
- COLLAPSE_INDEX: false,
- FILE_SUFFIX: '.html',
- HAS_SOURCE: true
- };
- </script>
+ <script type="text/javascript" src="../../_static/documentation_options.js"></script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
- <link rel="top" title="salomeTools 5.0.0dev documentation" href="../../index.html" />
- <link rel="up" title="Module code" href="../index.html" />
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
- </head>
- <body>
+ </head><body>
<div class="document">
<div class="body" role="main">
<h1>Source code for src.product</h1><div class="highlight"><pre>
-<span class="c">#!/usr/bin/env python</span>
-<span class="c">#-*- coding:utf-8 -*-</span>
-<span class="c"># Copyright (C) 2010-2012 CEA/DEN</span>
-<span class="c">#</span>
-<span class="c"># This library is free software; you can redistribute it and/or</span>
-<span class="c"># modify it under the terms of the GNU Lesser General Public</span>
-<span class="c"># License as published by the Free Software Foundation; either</span>
-<span class="c"># version 2.1 of the License.</span>
-<span class="c">#</span>
-<span class="c"># This library is distributed in the hope that it will be useful,</span>
-<span class="c"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
-<span class="c"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
-<span class="c"># Lesser General Public License for more details.</span>
-<span class="c">#</span>
-<span class="c"># You should have received a copy of the GNU Lesser General Public</span>
-<span class="c"># License along with this library; if not, write to the Free Software</span>
-<span class="c"># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
+<span></span><span class="ch">#!/usr/bin/env python</span>
+<span class="c1">#-*- coding:utf-8 -*-</span>
+<span class="c1"># Copyright (C) 2010-2012 CEA/DEN</span>
+<span class="c1">#</span>
+<span class="c1"># This library is free software; you can redistribute it and/or</span>
+<span class="c1"># modify it under the terms of the GNU Lesser General Public</span>
+<span class="c1"># License as published by the Free Software Foundation; either</span>
+<span class="c1"># version 2.1 of the License.</span>
+<span class="c1">#</span>
+<span class="c1"># This library is distributed in the hope that it will be useful,</span>
+<span class="c1"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<span class="c1"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<span class="c1"># Lesser General Public License for more details.</span>
+<span class="c1">#</span>
+<span class="c1"># You should have received a copy of the GNU Lesser General Public</span>
+<span class="c1"># License along with this library; if not, write to the Free Software</span>
+<span class="c1"># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
<span class="sd">"""\</span>
<span class="sd">In this file are implemented the methods </span>
<span class="kn">import</span> <span class="nn">re</span>
<span class="kn">import</span> <span class="nn">src</span>
-<span class="kn">import</span> <span class="nn">src.debug</span> <span class="kn">as</span> <span class="nn">DBG</span>
+<span class="kn">import</span> <span class="nn">src.debug</span> <span class="k">as</span> <span class="nn">DBG</span>
-<span class="n">AVAILABLE_VCS</span> <span class="o">=</span> <span class="p">[</span><span class="s">'git'</span><span class="p">,</span> <span class="s">'svn'</span><span class="p">,</span> <span class="s">'cvs'</span><span class="p">]</span>
-<span class="n">config_expression</span> <span class="o">=</span> <span class="s">"^config-\d+$"</span>
-<span class="n">VERSION_DELIMITER</span> <span class="o">=</span> <span class="s">"_to_"</span>
+<span class="n">AVAILABLE_VCS</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'git'</span><span class="p">,</span> <span class="s1">'svn'</span><span class="p">,</span> <span class="s1">'cvs'</span><span class="p">]</span>
+<span class="n">config_expression</span> <span class="o">=</span> <span class="s2">"^config-\d+$"</span>
+<span class="n">VERSION_DELIMITER</span> <span class="o">=</span> <span class="s2">"_to_"</span>
-<div class="viewcode-block" id="get_product_config"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_config">[docs]</a><span class="k">def</span> <span class="nf">get_product_config</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_name</span><span class="p">,</span> <span class="n">with_install_dir</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+<div class="viewcode-block" id="get_product_config"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_config">[docs]</a><span class="k">def</span> <span class="nf">get_product_config</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_name</span><span class="p">,</span> <span class="n">with_install_dir</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="sd">"""Get the specific configuration of a product from the global configuration</span>
<span class="sd"> </span>
<span class="sd"> :param config Config: The global configuration</span>
<span class="sd"> :rtype: Config</span>
<span class="sd"> """</span>
- <span class="c"># Get the version of the product from the application definition</span>
+ <span class="c1"># Get the version of the product from the application definition</span>
<span class="n">version</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">products</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span>
- <span class="c"># if no version, then take the default one defined in the application</span>
+ <span class="c1"># if no version, then take the default one defined in the application</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
<span class="n">version</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">tag</span>
- <span class="c"># Define debug and dev modes</span>
- <span class="c"># Get the tag if a dictionary is given in APPLICATION.products for the</span>
- <span class="c"># current product </span>
- <span class="n">debug</span> <span class="o">=</span> <span class="s">'no'</span>
- <span class="n">dev</span> <span class="o">=</span> <span class="s">'no'</span>
- <span class="n">base</span> <span class="o">=</span> <span class="s">'maybe'</span>
- <span class="n">section</span> <span class="o">=</span> <span class="bp">None</span>
+ <span class="c1"># Define debug and dev modes</span>
+ <span class="c1"># Get the tag if a dictionary is given in APPLICATION.products for the</span>
+ <span class="c1"># current product </span>
+ <span class="n">debug</span> <span class="o">=</span> <span class="s1">'no'</span>
+ <span class="n">dev</span> <span class="o">=</span> <span class="s1">'no'</span>
+ <span class="n">verbose</span> <span class="o">=</span> <span class="s1">'no'</span>
+ <span class="n">base</span> <span class="o">=</span> <span class="s1">'maybe'</span>
+ <span class="n">section</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Mapping</span><span class="p">):</span>
<span class="n">dic_version</span> <span class="o">=</span> <span class="n">version</span>
- <span class="c"># Get the version/tag</span>
- <span class="k">if</span> <span class="ow">not</span> <span class="s">'tag'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="c1"># Get the version/tag</span>
+ <span class="k">if</span> <span class="ow">not</span> <span class="s1">'tag'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
<span class="n">version</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">tag</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">version</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">tag</span>
- <span class="c"># Get the debug if any</span>
- <span class="k">if</span> <span class="s">'debug'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="c1"># Get the debug if any</span>
+ <span class="k">if</span> <span class="s1">'debug'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
<span class="n">debug</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">debug</span>
- <span class="c"># Get the dev if any</span>
- <span class="k">if</span> <span class="s">'dev'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="c1"># Get the verbose if any</span>
+ <span class="k">if</span> <span class="s1">'verbose'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="n">verbose</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">verbose</span>
+
+ <span class="c1"># Get the dev if any</span>
+ <span class="k">if</span> <span class="s1">'dev'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
<span class="n">dev</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">dev</span>
- <span class="c"># Get the base if any</span>
- <span class="k">if</span> <span class="s">'base'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="c1"># Get the base if any</span>
+ <span class="k">if</span> <span class="s1">'base'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
<span class="n">base</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">base</span>
- <span class="c"># Get the section if any</span>
- <span class="k">if</span> <span class="s">'section'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
+ <span class="c1"># Get the section if any</span>
+ <span class="k">if</span> <span class="s1">'section'</span> <span class="ow">in</span> <span class="n">dic_version</span><span class="p">:</span>
<span class="n">section</span> <span class="o">=</span> <span class="n">dic_version</span><span class="o">.</span><span class="n">section</span>
<span class="n">vv</span> <span class="o">=</span> <span class="n">version</span>
- <span class="c"># substitute some character with _ in order to get the correct definition</span>
- <span class="c"># in config.PRODUCTS. This is done because the pyconf tool does not handle</span>
- <span class="c"># the . and - characters </span>
- <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="s">".-"</span><span class="p">:</span> <span class="n">vv</span> <span class="o">=</span> <span class="n">vv</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="s">"_"</span><span class="p">)</span>
+ <span class="c1"># substitute some character with _ in order to get the correct definition</span>
+ <span class="c1"># in config.PRODUCTS. This is done because the pyconf tool does not handle</span>
+ <span class="c1"># the . and - characters </span>
+ <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="s2">".-"</span><span class="p">:</span> <span class="n">vv</span> <span class="o">=</span> <span class="n">vv</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="s2">"_"</span><span class="p">)</span>
- <span class="n">prod_info</span> <span class="o">=</span> <span class="bp">None</span>
+ <span class="n">prod_info</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">if</span> <span class="n">product_name</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">:</span>
- <span class="c"># Search for the product description in the configuration</span>
+ <span class="c1"># Search for the product description in the configuration</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">get_product_section</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_name</span><span class="p">,</span> <span class="n">vv</span><span class="p">,</span> <span class="n">section</span><span class="p">)</span>
- <span class="c"># merge opt_depend in depend</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="s">'opt_depend'</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
+ <span class="c1"># merge opt_depend in depend</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="s1">'opt_depend'</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
<span class="k">for</span> <span class="n">depend</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">opt_depend</span><span class="p">:</span>
<span class="k">if</span> <span class="n">depend</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">products</span><span class="p">:</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">depend</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">depend</span><span class="p">,</span><span class="s">''</span><span class="p">)</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">depend</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">depend</span><span class="p">,</span><span class="s1">''</span><span class="p">)</span>
- <span class="c"># In case of a product get with a vcs, </span>
- <span class="c"># put the tag (equal to the version)</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="ow">in</span> <span class="n">AVAILABLE_VCS</span><span class="p">:</span>
+ <span class="c1"># In case of a product get with a vcs, </span>
+ <span class="c1"># put the tag (equal to the version)</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="ow">in</span> <span class="n">AVAILABLE_VCS</span><span class="p">:</span>
- <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s">'git'</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s1">'git'</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">git_info</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">version</span>
- <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s">'svn'</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s1">'svn'</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">svn_info</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">version</span>
- <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s">'cvs'</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s1">'cvs'</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">cvs_info</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">version</span>
- <span class="c"># In case of a fixed product, </span>
- <span class="c"># define the install_dir (equal to the version)</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">version</span><span class="p">):</span>
+ <span class="c1"># In case of a fixed product, </span>
+ <span class="c1"># define the install_dir (equal to the version)</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">version</span><span class="p">):</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">=</span> <span class="n">version</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s">"fixed"</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s2">"fixed"</span>
- <span class="c"># Check if the product is defined as native in the application</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
- <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s">"native"</span><span class="p">:</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s">"native"</span>
- <span class="k">elif</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s">"native"</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"The product </span><span class="si">%(prod)s</span><span class="s"> has version </span><span class="si">%(ver)s</span><span class="s"> but is "</span>
- <span class="s">"declared as native in its definition"</span> <span class="o">%</span>
- <span class="p">{</span> <span class="s">'prod'</span><span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s">'ver'</span><span class="p">:</span> <span class="n">version</span><span class="p">})</span>
+ <span class="c1"># Check if the product is defined as native in the application</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"native"</span><span class="p">:</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s2">"native"</span>
+ <span class="k">elif</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s2">"native"</span><span class="p">:</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"The product </span><span class="si">%(prod)s</span><span class="s2"> has version </span><span class="si">%(ver)s</span><span class="s2"> but is "</span>
+ <span class="s2">"declared as native in its definition"</span> <span class="o">%</span>
+ <span class="p">{</span> <span class="s1">'prod'</span><span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">'ver'</span><span class="p">:</span> <span class="n">version</span><span class="p">})</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
- <span class="c"># If there is no definition but the product is declared as native,</span>
- <span class="c"># construct a new definition containing only the get_source key</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">version</span> <span class="o">==</span> <span class="s">"native"</span><span class="p">:</span>
+ <span class="c1"># If there is no definition but the product is declared as native,</span>
+ <span class="c1"># construct a new definition containing only the get_source key</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"native"</span><span class="p">:</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Config</span><span class="p">()</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">product_name</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s">"native"</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s2">"native"</span>
- <span class="c"># If there is no definition but the product is fixed,</span>
- <span class="c"># construct a new definition containing only the product name</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">version</span><span class="p">):</span>
+ <span class="c1"># If there is no definition but the product is fixed,</span>
+ <span class="c1"># construct a new definition containing only the product name</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">version</span><span class="p">):</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Config</span><span class="p">()</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">product_name</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s">"fixed"</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">addMapping</span><span class="p">(</span><span class="s">"environ"</span><span class="p">,</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Mapping</span><span class="p">(</span><span class="n">prod_info</span><span class="p">),</span> <span class="s">""</span><span class="p">)</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">=</span> <span class="s2">"fixed"</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">addMapping</span><span class="p">(</span><span class="s2">"environ"</span><span class="p">,</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Mapping</span><span class="p">(</span><span class="n">prod_info</span><span class="p">),</span> <span class="s2">""</span><span class="p">)</span>
- <span class="c"># If prod_info is still None, it means that there is no product definition</span>
- <span class="c"># in the config. The user has to provide it.</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
- <span class="n">prod_pyconf_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span><span class="n">product_name</span> <span class="o">+</span> <span class="s">".pyconf"</span><span class="p">,</span>
+ <span class="c1"># If prod_info is still None, it means that there is no product definition</span>
+ <span class="c1"># in the config. The user has to provide it.</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+ <span class="n">prod_pyconf_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span><span class="n">product_name</span> <span class="o">+</span> <span class="s2">".pyconf"</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">prod_pyconf_path</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"""</span><span class="se">\</span>
-<span class="s">No definition found for the product </span><span class="si">%(1)s</span><span class="s">.</span>
-<span class="s">Please create a </span><span class="si">%(2)s</span><span class="s">.pyconf file somewhere in:</span>
-<span class="si">%(3)s</span><span class="s">"""</span><span class="p">)</span> <span class="o">%</span> <span class="p">{</span>
- <span class="s">"1"</span><span class="p">:</span> <span class="n">product_name</span><span class="p">,</span>
- <span class="s">"2"</span><span class="p">:</span> <span class="n">product_name</span><span class="p">,</span>
- <span class="s">"3"</span><span class="p">:</span> <span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span> <span class="p">}</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"""</span><span class="se">\</span>
+<span class="s2">No definition found for the product </span><span class="si">%(1)s</span><span class="s2">.</span>
+<span class="s2">Please create a </span><span class="si">%(2)s</span><span class="s2">.pyconf file somewhere in:</span>
+<span class="si">%(3)s</span><span class="s2">"""</span><span class="p">)</span> <span class="o">%</span> <span class="p">{</span>
+ <span class="s2">"1"</span><span class="p">:</span> <span class="n">product_name</span><span class="p">,</span>
+ <span class="s2">"2"</span><span class="p">:</span> <span class="n">product_name</span><span class="p">,</span>
+ <span class="s2">"3"</span><span class="p">:</span> <span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span> <span class="p">}</span>
<span class="k">else</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"""</span><span class="se">\</span>
-<span class="s">No definition corresponding to the version </span><span class="si">%(1)s</span><span class="s"> was found in the file:</span>
-<span class="s"> </span><span class="si">%(2)s</span><span class="s">.</span>
-<span class="s">Please add a section in it."""</span><span class="p">)</span> <span class="o">%</span> <span class="p">{</span><span class="s">"1"</span> <span class="p">:</span> <span class="n">vv</span><span class="p">,</span> <span class="s">"2"</span> <span class="p">:</span> <span class="n">prod_pyconf_path</span><span class="p">}</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"""</span><span class="se">\</span>
+<span class="s2">No definition corresponding to the version </span><span class="si">%(1)s</span><span class="s2"> was found in the file:</span>
+<span class="s2"> </span><span class="si">%(2)s</span><span class="s2">.</span>
+<span class="s2">Please add a section in it."""</span><span class="p">)</span> <span class="o">%</span> <span class="p">{</span><span class="s2">"1"</span> <span class="p">:</span> <span class="n">vv</span><span class="p">,</span> <span class="s2">"2"</span> <span class="p">:</span> <span class="n">prod_pyconf_path</span><span class="p">}</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
- <span class="c"># Set the debug, dev and version keys</span>
+ <span class="c1"># Set the debug, dev and version keys</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">debug</span> <span class="o">=</span> <span class="n">debug</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">dev</span> <span class="o">=</span> <span class="n">dev</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="n">version</span>
- <span class="c"># Set the archive_info if the product is get in archive mode</span>
- <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s">"archive"</span><span class="p">:</span>
- <span class="k">if</span> <span class="ow">not</span> <span class="s">"archive_info"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">addMapping</span><span class="p">(</span><span class="s">"archive_info"</span><span class="p">,</span>
+ <span class="c1"># Set the archive_info if the product is get in archive mode</span>
+ <span class="k">if</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">get_source</span> <span class="o">==</span> <span class="s2">"archive"</span><span class="p">:</span>
+ <span class="k">if</span> <span class="ow">not</span> <span class="s2">"archive_info"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">addMapping</span><span class="p">(</span><span class="s2">"archive_info"</span><span class="p">,</span>
<span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Mapping</span><span class="p">(</span><span class="n">prod_info</span><span class="p">),</span>
- <span class="s">""</span><span class="p">)</span>
- <span class="k">if</span> <span class="s">"archive_name"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="p">:</span>
- <span class="n">arch_name</span> <span class="o">=</span> <span class="n">product_name</span> <span class="o">+</span> <span class="s">"-"</span> <span class="o">+</span> <span class="n">version</span> <span class="o">+</span> <span class="s">".tar.gz"</span>
+ <span class="s2">""</span><span class="p">)</span>
+ <span class="k">if</span> <span class="s2">"archive_name"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="p">:</span>
+ <span class="n">arch_name</span> <span class="o">=</span> <span class="n">product_name</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="n">version</span> <span class="o">+</span> <span class="s2">".tar.gz"</span>
<span class="n">arch_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span><span class="n">arch_name</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">ARCHIVEPATH</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">arch_path</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"Archive </span><span class="si">%(1)s</span><span class="s"> for </span><span class="si">%(2)s</span><span class="s"> not found in config.PATHS.ARCHIVEPATH"</span><span class="p">)</span> <span class="o">%</span> \
- <span class="p">{</span><span class="s">"1"</span> <span class="p">:</span> <span class="n">arch_name</span><span class="p">,</span> <span class="s">"2"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">}</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"Archive </span><span class="si">%(1)s</span><span class="s2"> for </span><span class="si">%(2)s</span><span class="s2"> not found in config.PATHS.ARCHIVEPATH"</span><span class="p">)</span> <span class="o">%</span> \
+ <span class="p">{</span><span class="s2">"1"</span> <span class="p">:</span> <span class="n">arch_name</span><span class="p">,</span> <span class="s2">"2"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">}</span>
<span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">ARCHIVEPATH</span><span class="p">)</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_name</span> <span class="c">#without path</span>
- <span class="c"># raise src.SatException(msg) #may be a warning, continue #8646</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_name</span> <span class="c1">#without path</span>
+ <span class="c1"># raise src.SatException(msg) #may be a warning, continue #8646</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_path</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">arch_name</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">ARCHIVEPATH</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">arch_path</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"Archive </span><span class="si">%(1)s</span><span class="s"> for </span><span class="si">%(2)s</span><span class="s"> not found in config.PATHS.ARCHIVEPATH"</span><span class="p">)</span> <span class="o">%</span> \
- <span class="p">{</span><span class="s">"1"</span> <span class="p">:</span> <span class="n">arch_name</span><span class="p">,</span> <span class="s">"2"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">}</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">ARCHIVEPATH</span><span class="p">)</span> <span class="c">#avoid 2 messages in compile</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_name</span> <span class="c">#without path</span>
- <span class="c"># raise src.SatException(msg) #may be a warning, continue #8646</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_path</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"Archive </span><span class="si">%(1)s</span><span class="s2"> for </span><span class="si">%(2)s</span><span class="s2"> not found in config.PATHS.ARCHIVEPATH"</span><span class="p">)</span> <span class="o">%</span> \
+ <span class="p">{</span><span class="s2">"1"</span> <span class="p">:</span> <span class="n">arch_name</span><span class="p">,</span> <span class="s2">"2"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">}</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">ARCHIVEPATH</span><span class="p">)</span> <span class="c1">#avoid 2 messages in compile</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_name</span> <span class="c1">#without path</span>
+ <span class="c1"># raise src.SatException(msg) #may be a warning, continue #8646</span>
+ <span class="k">else</span><span class="p">:</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">archive_info</span><span class="o">.</span><span class="n">archive_name</span> <span class="o">=</span> <span class="n">arch_path</span>
+
- <span class="c"># If the product compiles with a script, check the script existence</span>
- <span class="c"># and if it is executable</span>
+ <span class="c1"># If the product compiles with a script, check the script existence</span>
+ <span class="c1"># and if it is executable</span>
<span class="k">if</span> <span class="n">product_has_script</span><span class="p">(</span><span class="n">prod_info</span><span class="p">):</span>
- <span class="c"># Check the compil_script key existence</span>
- <span class="k">if</span> <span class="s">"compil_script"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"""</span><span class="se">\</span>
-<span class="s">No compilation script found for the product </span><span class="si">%s</span><span class="s">.</span>
-<span class="s">Please provide a 'compil_script' key in its definition."""</span><span class="p">)</span> <span class="o">%</span> <span class="n">product_name</span>
+ <span class="c1"># Check the compil_script key existence</span>
+ <span class="k">if</span> <span class="s2">"compil_script"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"""</span><span class="se">\</span>
+<span class="s2">No compilation script found for the product </span><span class="si">%s</span><span class="s2">.</span>
+<span class="s2">Please provide a 'compil_script' key in its definition."""</span><span class="p">)</span> <span class="o">%</span> <span class="n">product_name</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
- <span class="c"># Get the path of the script</span>
+ <span class="c1"># Get the path of the script</span>
<span class="n">script</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span>
<span class="n">script_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">script</span><span class="p">)</span>
<span class="k">if</span> <span class="n">script</span> <span class="o">==</span> <span class="n">script_name</span><span class="p">:</span>
- <span class="c"># Only a name is given. Search in the default directory</span>
+ <span class="c1"># Only a name is given. Search in the default directory</span>
<span class="n">script_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span><span class="n">script_name</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span><span class="p">,</span>
- <span class="s">"compil_scripts"</span><span class="p">)</span>
+ <span class="s2">"compil_scripts"</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">script_path</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span>
- <span class="n">_</span><span class="p">(</span><span class="s">"Compilation script not found: </span><span class="si">%s</span><span class="s">"</span><span class="p">)</span> <span class="o">%</span> <span class="n">script_name</span><span class="p">)</span>
+ <span class="n">_</span><span class="p">(</span><span class="s2">"Compilation script not found: </span><span class="si">%s</span><span class="s2">"</span><span class="p">)</span> <span class="o">%</span> <span class="n">script_name</span><span class="p">)</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span> <span class="o">=</span> <span class="n">script_path</span>
<span class="k">if</span> <span class="n">src</span><span class="o">.</span><span class="n">architecture</span><span class="o">.</span><span class="n">is_windows</span><span class="p">():</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span><span class="p">[:</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="s">".sh"</span><span class="p">)]</span> <span class="o">+</span> <span class="s">".bat"</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span><span class="p">[:</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="s2">".sh"</span><span class="p">)]</span> <span class="o">+</span> <span class="s2">".bat"</span>
- <span class="c"># Check that the script is executable</span>
+ <span class="c1"># Check that the script is executable</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">access</span><span class="p">(</span><span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">X_OK</span><span class="p">):</span>
- <span class="c">#raise src.SatException(</span>
- <span class="c"># _("Compilation script cannot be executed: %s") % </span>
- <span class="c"># prod_info.compil_script)</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s">"Compilation script cannot be executed:"</span><span class="p">,</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span><span class="p">)</span>
+ <span class="c1">#raise src.SatException(</span>
+ <span class="c1"># _("Compilation script cannot be executed: %s") % </span>
+ <span class="c1"># prod_info.compil_script)</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s2">"Compilation script cannot be executed:"</span><span class="p">,</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">compil_script</span><span class="p">)</span>
- <span class="c"># Get the full paths of all the patches</span>
+ <span class="c1"># Get the full paths of all the patches</span>
<span class="k">if</span> <span class="n">product_has_patches</span><span class="p">(</span><span class="n">prod_info</span><span class="p">):</span>
<span class="n">patches</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">for</span> <span class="n">patch</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">patches</span><span class="p">:</span>
<span class="n">patch_path</span> <span class="o">=</span> <span class="n">patch</span>
- <span class="c"># If only a filename, then search for the patch in the PRODUCTPATH</span>
+ <span class="c1"># If only a filename, then search for the patch in the PRODUCTPATH</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">patch_path</span><span class="p">)</span> <span class="o">==</span> <span class="n">patch_path</span><span class="p">:</span>
- <span class="c"># Search in the PRODUCTPATH/patches</span>
+ <span class="c1"># Search in the PRODUCTPATH/patches</span>
<span class="n">patch_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span><span class="n">patch</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span><span class="p">,</span>
- <span class="s">"patches"</span><span class="p">)</span>
+ <span class="s2">"patches"</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">patch_path</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"Patch </span><span class="si">%(patch_name)s</span><span class="s"> for </span><span class="si">%(prod_name)s</span><span class="s"> not found:"</span>
- <span class="s">"</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> <span class="p">{</span><span class="s">"patch_name"</span> <span class="p">:</span> <span class="n">patch</span><span class="p">,</span>
- <span class="s">"prod_name"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">})</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"Patch </span><span class="si">%(patch_name)s</span><span class="s2"> for </span><span class="si">%(prod_name)s</span><span class="s2"> not found:"</span>
+ <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span> <span class="o">%</span> <span class="p">{</span><span class="s2">"patch_name"</span> <span class="p">:</span> <span class="n">patch</span><span class="p">,</span>
+ <span class="s2">"prod_name"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">})</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="n">patches</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">patch_path</span><span class="p">)</span>
<span class="k">except</span><span class="p">:</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s">"problem in prod_info.patches"</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">)</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s2">"problem in prod_info.patches"</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">)</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">patches</span> <span class="o">=</span> <span class="n">patches</span>
- <span class="c"># Get the full paths of the environment scripts</span>
+ <span class="c1"># Get the full paths of the environment scripts</span>
<span class="k">if</span> <span class="n">product_has_env_script</span><span class="p">(</span><span class="n">prod_info</span><span class="p">):</span>
<span class="n">env_script_path</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">env_script</span>
- <span class="c"># If only a filename, then search for the environment script </span>
- <span class="c"># in the PRODUCTPATH/env_scripts</span>
+ <span class="c1"># If only a filename, then search for the environment script </span>
+ <span class="c1"># in the PRODUCTPATH/env_scripts</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">env_script_path</span><span class="p">)</span> <span class="o">==</span> <span class="n">env_script_path</span><span class="p">:</span>
- <span class="c"># Search in the PRODUCTPATH/env_scripts</span>
+ <span class="c1"># Search in the PRODUCTPATH/env_scripts</span>
<span class="n">env_script_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">find_file_in_lpath</span><span class="p">(</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">env_script</span><span class="p">,</span>
<span class="n">config</span><span class="o">.</span><span class="n">PATHS</span><span class="o">.</span><span class="n">PRODUCTPATH</span><span class="p">,</span>
- <span class="s">"env_scripts"</span><span class="p">)</span>
+ <span class="s2">"env_scripts"</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">env_script_path</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"Environment script </span><span class="si">%(env_name)s</span><span class="s"> for </span><span class="si">%(prod_name)s</span><span class="s"> not "</span>
- <span class="s">"found.</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> <span class="p">{</span><span class="s">"env_name"</span> <span class="p">:</span> <span class="n">env_script_path</span><span class="p">,</span>
- <span class="s">"prod_name"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">})</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"Environment script </span><span class="si">%(env_name)s</span><span class="s2"> for </span><span class="si">%(prod_name)s</span><span class="s2"> not "</span>
+ <span class="s2">"found.</span><span class="se">\n</span><span class="s2">"</span> <span class="o">%</span> <span class="p">{</span><span class="s2">"env_name"</span> <span class="p">:</span> <span class="n">env_script_path</span><span class="p">,</span>
+ <span class="s2">"prod_name"</span> <span class="p">:</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">})</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">env_script</span> <span class="o">=</span> <span class="n">env_script_path</span>
<span class="k">if</span> <span class="n">with_install_dir</span><span class="p">:</span>
- <span class="c"># The variable with_install_dir is at false only for internal use </span>
- <span class="c"># of the function get_install_dir</span>
+ <span class="c1"># The variable with_install_dir is at false only for internal use </span>
+ <span class="c1"># of the function get_install_dir</span>
- <span class="c"># Save the install_dir key if there is any</span>
- <span class="k">if</span> <span class="s">"install_dir"</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">and</span> <span class="ow">not</span> <span class="s">"install_dir_save"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
+ <span class="c1"># Save the install_dir key if there is any</span>
+ <span class="k">if</span> <span class="s2">"install_dir"</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">and</span> <span class="ow">not</span> <span class="s2">"install_dir_save"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir_save</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span>
- <span class="c"># if it is not the first time the install_dir is computed, it means</span>
- <span class="c"># that install_dir_save exists and it has to be taken into account.</span>
- <span class="k">if</span> <span class="s">"install_dir_save"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
+ <span class="c1"># if it is not the first time the install_dir is computed, it means</span>
+ <span class="c1"># that install_dir_save exists and it has to be taken into account.</span>
+ <span class="k">if</span> <span class="s2">"install_dir_save"</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="p">:</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir_save</span>
- <span class="c"># Set the install_dir key</span>
+ <span class="c1"># Set the install_dir key</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">=</span> <span class="n">get_install_dir</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">base</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">prod_info</span>
-</div>
-<div class="viewcode-block" id="get_product_section"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_section">[docs]</a><span class="k">def</span> <span class="nf">get_product_section</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_name</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">section</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+ <span class="k">return</span> <span class="n">prod_info</span></div>
+
+<div class="viewcode-block" id="get_product_section"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_section">[docs]</a><span class="k">def</span> <span class="nf">get_product_section</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_name</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">section</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">"""Get the product description from the configuration</span>
<span class="sd"> </span>
<span class="sd"> :param config Config: The global configuration</span>
<span class="sd"> :rtype: Config</span>
<span class="sd"> """</span>
- <span class="c"># if section is not None, try to get the corresponding section</span>
+ <span class="c1"># if section is not None, try to get the corresponding section</span>
<span class="k">if</span> <span class="n">section</span><span class="p">:</span>
<span class="k">if</span> <span class="n">section</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]:</span>
- <span class="k">return</span> <span class="bp">None</span>
- <span class="c"># returns specific information for the given version</span>
+ <span class="k">return</span> <span class="kc">None</span>
+ <span class="c1"># returns specific information for the given version</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">][</span><span class="n">section</span><span class="p">]</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="n">section</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">from_file</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">from_file</span>
<span class="k">return</span> <span class="n">prod_info</span>
- <span class="c"># If it exists, get the information of the product_version</span>
- <span class="k">if</span> <span class="s">"version_"</span> <span class="o">+</span> <span class="n">version</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]:</span>
- <span class="c"># returns specific information for the given version</span>
- <span class="n">prod_info</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">][</span><span class="s">"version_"</span> <span class="o">+</span> <span class="n">version</span><span class="p">]</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="s">"version_"</span> <span class="o">+</span> <span class="n">version</span>
+ <span class="c1"># If it exists, get the information of the product_version</span>
+ <span class="k">if</span> <span class="s2">"version_"</span> <span class="o">+</span> <span class="n">version</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]:</span>
+ <span class="c1"># returns specific information for the given version</span>
+ <span class="n">prod_info</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">][</span><span class="s2">"version_"</span> <span class="o">+</span> <span class="n">version</span><span class="p">]</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="s2">"version_"</span> <span class="o">+</span> <span class="n">version</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">from_file</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">from_file</span>
<span class="k">return</span> <span class="n">prod_info</span>
- <span class="c"># Else, check if there is a description for multiple versions</span>
+ <span class="c1"># Else, check if there is a description for multiple versions</span>
<span class="n">l_section_name</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
<span class="n">l_section_ranges</span> <span class="o">=</span> <span class="p">[</span><span class="n">section_name</span> <span class="k">for</span> <span class="n">section_name</span> <span class="ow">in</span> <span class="n">l_section_name</span>
<span class="k">if</span> <span class="n">VERSION_DELIMITER</span> <span class="ow">in</span> <span class="n">section_name</span><span class="p">]</span>
<span class="n">minimum</span><span class="p">,</span> <span class="n">maximum</span> <span class="o">=</span> <span class="n">section_range</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">VERSION_DELIMITER</span><span class="p">)</span>
<span class="k">if</span> <span class="p">(</span><span class="n">src</span><span class="o">.</span><span class="n">only_numbers</span><span class="p">(</span><span class="n">version</span><span class="p">)</span> <span class="o">>=</span> <span class="n">src</span><span class="o">.</span><span class="n">only_numbers</span><span class="p">(</span><span class="n">minimum</span><span class="p">)</span>
<span class="ow">and</span> <span class="n">src</span><span class="o">.</span><span class="n">only_numbers</span><span class="p">(</span><span class="n">version</span><span class="p">)</span> <span class="o"><=</span> <span class="n">src</span><span class="o">.</span><span class="n">only_numbers</span><span class="p">(</span><span class="n">maximum</span><span class="p">)):</span>
- <span class="c"># returns specific information for the versions</span>
+ <span class="c1"># returns specific information for the versions</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">][</span><span class="n">section_range</span><span class="p">]</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="n">section_range</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">from_file</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">from_file</span>
<span class="k">return</span> <span class="n">prod_info</span>
- <span class="c"># Else, get the standard informations</span>
- <span class="k">if</span> <span class="s">"default"</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]:</span>
- <span class="c"># returns the generic information (given version not found)</span>
+ <span class="c1"># Else, get the standard informations</span>
+ <span class="k">if</span> <span class="s2">"default"</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]:</span>
+ <span class="c1"># returns the generic information (given version not found)</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">default</span>
- <span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="s">"default"</span>
+ <span class="n">prod_info</span><span class="o">.</span><span class="n">section</span> <span class="o">=</span> <span class="s2">"default"</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">from_file</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">PRODUCTS</span><span class="p">[</span><span class="n">product_name</span><span class="p">]</span><span class="o">.</span><span class="n">from_file</span>
<span class="k">return</span> <span class="n">prod_info</span>
- <span class="c"># if noting was found, return None</span>
- <span class="k">return</span> <span class="bp">None</span>
- </div>
+ <span class="c1"># if noting was found, return None</span>
+ <span class="k">return</span> <span class="kc">None</span></div>
+
<div class="viewcode-block" id="get_install_dir"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_install_dir">[docs]</a><span class="k">def</span> <span class="nf">get_install_dir</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">base</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">):</span>
<span class="sd">"""Compute the installation directory of a given product </span>
<span class="sd"> </span>
<span class="sd"> :return: The path of the product installation</span>
<span class="sd"> :rtype: str</span>
<span class="sd"> """</span>
- <span class="n">install_dir</span> <span class="o">=</span> <span class="s">""</span>
- <span class="n">in_base</span> <span class="o">=</span> <span class="bp">False</span>
- <span class="k">if</span> <span class="p">((</span><span class="s">"install_dir"</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">and</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">==</span> <span class="s">"base"</span><span class="p">)</span>
- <span class="ow">or</span> <span class="n">base</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">):</span>
- <span class="n">in_base</span> <span class="o">=</span> <span class="bp">True</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">base</span> <span class="o">==</span> <span class="s">"no"</span> <span class="ow">or</span> <span class="p">(</span><span class="s">"no_base"</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span>
- <span class="ow">and</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">no_base</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)):</span>
- <span class="n">in_base</span> <span class="o">=</span> <span class="bp">False</span>
+ <span class="n">install_dir</span> <span class="o">=</span> <span class="s2">""</span>
+ <span class="n">in_base</span> <span class="o">=</span> <span class="kc">False</span>
+ <span class="k">if</span> <span class="p">((</span><span class="s2">"install_dir"</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">and</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">==</span> <span class="s2">"base"</span><span class="p">)</span>
+ <span class="ow">or</span> <span class="n">base</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">):</span>
+ <span class="n">in_base</span> <span class="o">=</span> <span class="kc">True</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">base</span> <span class="o">==</span> <span class="s2">"no"</span> <span class="ow">or</span> <span class="p">(</span><span class="s2">"no_base"</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span>
+ <span class="ow">and</span> <span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">no_base</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)):</span>
+ <span class="n">in_base</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">if</span> <span class="n">in_base</span><span class="p">:</span>
<span class="n">install_dir</span> <span class="o">=</span> <span class="n">get_base_install_dir</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">,</span> <span class="n">version</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
- <span class="k">if</span> <span class="s">"install_dir"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">or</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">==</span> <span class="s">"base"</span><span class="p">:</span>
- <span class="c"># Set it to the default value (in application directory)</span>
+ <span class="k">if</span> <span class="s2">"install_dir"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span> <span class="ow">or</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span> <span class="o">==</span> <span class="s2">"base"</span><span class="p">:</span>
+ <span class="c1"># Set it to the default value (in application directory)</span>
<span class="n">install_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">config</span><span class="o">.</span><span class="n">APPLICATION</span><span class="o">.</span><span class="n">workdir</span><span class="p">,</span>
- <span class="s">"INSTALL"</span><span class="p">,</span>
+ <span class="s2">"INSTALL"</span><span class="p">,</span>
<span class="n">prod_info</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">install_dir</span> <span class="o">=</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">install_dir</span>
- <span class="k">return</span> <span class="n">install_dir</span>
-</div>
+ <span class="k">return</span> <span class="n">install_dir</span></div>
+
<div class="viewcode-block" id="get_base_install_dir"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_base_install_dir">[docs]</a><span class="k">def</span> <span class="nf">get_base_install_dir</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">,</span> <span class="n">version</span><span class="p">):</span>
<span class="sd">"""Compute the installation directory of a product in base </span>
<span class="sd"> </span>
<span class="sd"> :rtype: str</span>
<span class="sd"> """</span>
<span class="n">base_path</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
- <span class="n">prod_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">base_path</span><span class="p">,</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s">"-"</span> <span class="o">+</span> <span class="n">version</span><span class="p">)</span>
+ <span class="n">prod_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">base_path</span><span class="p">,</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="n">version</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">):</span>
- <span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="s">"config-1"</span><span class="p">)</span>
+ <span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="s2">"config-1"</span><span class="p">)</span>
<span class="n">exists</span><span class="p">,</span> <span class="n">install_dir</span> <span class="o">=</span> <span class="n">check_config_exists</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_dir</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">)</span>
<span class="k">if</span> <span class="n">exists</span><span class="p">:</span>
<span class="k">return</span> <span class="n">install_dir</span>
- <span class="c"># Find the first config-<i> directory that is available in the product</span>
- <span class="c"># directory</span>
- <span class="n">found</span> <span class="o">=</span> <span class="bp">False</span>
+ <span class="c1"># Find the first config-<i> directory that is available in the product</span>
+ <span class="c1"># directory</span>
+ <span class="n">found</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">label</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">while</span> <span class="ow">not</span> <span class="n">found</span><span class="p">:</span>
- <span class="n">install_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="s">"config-</span><span class="si">%i</span><span class="s">"</span> <span class="o">%</span> <span class="n">label</span><span class="p">)</span>
+ <span class="n">install_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="s2">"config-</span><span class="si">%i</span><span class="s2">"</span> <span class="o">%</span> <span class="n">label</span><span class="p">)</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">install_dir</span><span class="p">):</span>
<span class="n">label</span><span class="o">+=</span><span class="mi">1</span>
<span class="k">else</span><span class="p">:</span>
- <span class="n">found</span> <span class="o">=</span> <span class="bp">True</span>
+ <span class="n">found</span> <span class="o">=</span> <span class="kc">True</span>
- <span class="k">return</span> <span class="n">install_dir</span>
-</div>
+ <span class="k">return</span> <span class="n">install_dir</span></div>
+
<div class="viewcode-block" id="check_config_exists"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.check_config_exists">[docs]</a><span class="k">def</span> <span class="nf">check_config_exists</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_dir</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">):</span>
<span class="sd">"""\</span>
<span class="sd"> Verify that the installation directory of a product in a base exists</span>
<span class="sd"> and if it is found, the path of the found installation</span>
<span class="sd"> :rtype: (boolean, str)</span>
<span class="sd"> """</span>
- <span class="c"># check if the directories or files of the directory corresponds to the </span>
- <span class="c"># directory installation of the product</span>
+ <span class="c1"># check if the directories or files of the directory corresponds to the </span>
+ <span class="c1"># directory installation of the product</span>
<span class="n">l_dir_and_files</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">)</span>
<span class="k">for</span> <span class="n">dir_or_file</span> <span class="ow">in</span> <span class="n">l_dir_and_files</span><span class="p">:</span>
<span class="n">oExpr</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">config_expression</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span><span class="p">(</span><span class="n">oExpr</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">dir_or_file</span><span class="p">)):</span>
- <span class="c"># not config-<i>, not interesting</span>
+ <span class="c1"># not config-<i>, not interesting</span>
<span class="k">continue</span>
- <span class="c"># check if there is the file sat-config.pyconf file in the installation</span>
- <span class="c"># directory </span>
+ <span class="c1"># check if there is the file sat-config.pyconf file in the installation</span>
+ <span class="c1"># directory </span>
<span class="n">config_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="n">dir_or_file</span><span class="p">,</span> <span class="n">src</span><span class="o">.</span><span class="n">CONFIG_FILENAME</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">config_file</span><span class="p">):</span>
<span class="k">continue</span>
- <span class="c"># If there is no dependency, it is the right path</span>
+ <span class="c1"># If there is no dependency, it is the right path</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">prod_info</span><span class="o">.</span><span class="n">depend</span><span class="p">)</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
<span class="n">compile_cfg</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Config</span><span class="p">(</span><span class="n">config_file</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">compile_cfg</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
- <span class="k">return</span> <span class="bp">True</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="n">dir_or_file</span><span class="p">)</span>
+ <span class="k">return</span> <span class="kc">True</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="n">dir_or_file</span><span class="p">)</span>
<span class="k">continue</span>
- <span class="c"># check if there is the config described in the file corresponds the </span>
- <span class="c"># dependencies of the product</span>
- <span class="n">config_corresponds</span> <span class="o">=</span> <span class="bp">True</span>
+ <span class="c1"># check if there is the config described in the file corresponds the </span>
+ <span class="c1"># dependencies of the product</span>
+ <span class="n">config_corresponds</span> <span class="o">=</span> <span class="kc">True</span>
<span class="n">compile_cfg</span> <span class="o">=</span> <span class="n">src</span><span class="o">.</span><span class="n">pyconf</span><span class="o">.</span><span class="n">Config</span><span class="p">(</span><span class="n">config_file</span><span class="p">)</span>
<span class="k">for</span> <span class="n">prod_dep</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">depend</span><span class="p">:</span>
- <span class="c"># if the dependency is not in the config, </span>
- <span class="c"># the config does not correspond</span>
+ <span class="c1"># if the dependency is not in the config, </span>
+ <span class="c1"># the config does not correspond</span>
<span class="k">if</span> <span class="n">prod_dep</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">compile_cfg</span><span class="p">:</span>
- <span class="n">config_corresponds</span> <span class="o">=</span> <span class="bp">False</span>
+ <span class="n">config_corresponds</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">break</span>
<span class="k">else</span><span class="p">:</span>
- <span class="n">prod_dep_info</span> <span class="o">=</span> <span class="n">get_product_config</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_dep</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
- <span class="c"># If the version of the dependency does not correspond, </span>
- <span class="c"># the config does not correspond</span>
+ <span class="n">prod_dep_info</span> <span class="o">=</span> <span class="n">get_product_config</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod_dep</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+ <span class="c1"># If the version of the dependency does not correspond, </span>
+ <span class="c1"># the config does not correspond</span>
<span class="k">if</span> <span class="n">prod_dep_info</span><span class="o">.</span><span class="n">version</span> <span class="o">!=</span> <span class="n">compile_cfg</span><span class="p">[</span><span class="n">prod_dep</span><span class="p">]:</span>
- <span class="n">config_corresponds</span> <span class="o">=</span> <span class="bp">False</span>
+ <span class="n">config_corresponds</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">break</span>
<span class="k">for</span> <span class="n">prod_name</span> <span class="ow">in</span> <span class="n">compile_cfg</span><span class="p">:</span>
<span class="k">if</span> <span class="n">prod_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">prod_info</span><span class="o">.</span><span class="n">depend</span><span class="p">:</span>
- <span class="n">config_corresponds</span> <span class="o">=</span> <span class="bp">False</span>
+ <span class="n">config_corresponds</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">break</span>
<span class="k">if</span> <span class="n">config_corresponds</span><span class="p">:</span>
- <span class="k">return</span> <span class="bp">True</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="n">dir_or_file</span><span class="p">)</span>
+ <span class="k">return</span> <span class="kc">True</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">prod_dir</span><span class="p">,</span> <span class="n">dir_or_file</span><span class="p">)</span>
- <span class="k">return</span> <span class="bp">False</span><span class="p">,</span> <span class="bp">None</span>
+ <span class="k">return</span> <span class="kc">False</span><span class="p">,</span> <span class="kc">None</span></div>
- </div>
+
<div class="viewcode-block" id="get_products_infos"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_products_infos">[docs]</a><span class="k">def</span> <span class="nf">get_products_infos</span><span class="p">(</span><span class="n">lproducts</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span>
<span class="sd">"""Get the specific configuration of a list of products</span>
<span class="sd"> </span>
<span class="sd"> :rtype: [(str, Config)]</span>
<span class="sd"> """</span>
<span class="n">products_infos</span> <span class="o">=</span> <span class="p">[]</span>
- <span class="c"># Loop on product names</span>
+ <span class="c1"># Loop on product names</span>
<span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">lproducts</span><span class="p">:</span>
- <span class="c"># Get the specific configuration of the product</span>
+ <span class="c1"># Get the specific configuration of the product</span>
<span class="n">prod_info</span> <span class="o">=</span> <span class="n">get_product_config</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">prod</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">prod_info</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">products_infos</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">prod</span><span class="p">,</span> <span class="n">prod_info</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
- <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">"The </span><span class="si">%s</span><span class="s"> product has no definition "</span>
- <span class="s">"in the configuration."</span><span class="p">)</span> <span class="o">%</span> <span class="n">prod</span>
+ <span class="n">msg</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s2">"The </span><span class="si">%s</span><span class="s2"> product has no definition "</span>
+ <span class="s2">"in the configuration."</span><span class="p">)</span> <span class="o">%</span> <span class="n">prod</span>
<span class="k">raise</span> <span class="n">src</span><span class="o">.</span><span class="n">SatException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">products_infos</span>
-</div>
+ <span class="k">return</span> <span class="n">products_infos</span></div>
+
<div class="viewcode-block" id="get_product_dependencies"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_dependencies">[docs]</a><span class="k">def</span> <span class="nf">get_product_dependencies</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""\</span>
<span class="sd"> Get recursively the list of products that are </span>
<span class="sd"> :return: the list of products in dependence</span>
<span class="sd"> :rtype: list</span>
<span class="sd"> """</span>
- <span class="k">if</span> <span class="s">"depend"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">or</span> <span class="n">product_info</span><span class="o">.</span><span class="n">depend</span> <span class="o">==</span> <span class="p">[]:</span>
+ <span class="k">if</span> <span class="s2">"depend"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">or</span> <span class="n">product_info</span><span class="o">.</span><span class="n">depend</span> <span class="o">==</span> <span class="p">[]:</span>
<span class="k">return</span> <span class="p">[]</span>
<span class="n">res</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">depend</span><span class="p">:</span>
<span class="k">for</span> <span class="n">prod_in_dep</span> <span class="ow">in</span> <span class="n">dep_prod</span><span class="p">:</span>
<span class="k">if</span> <span class="n">prod_in_dep</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">res</span><span class="p">:</span>
<span class="n">res</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">prod_in_dep</span><span class="p">)</span>
- <span class="k">return</span> <span class="n">res</span>
-</div>
+ <span class="k">return</span> <span class="n">res</span></div>
+
<div class="viewcode-block" id="check_installation"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.check_installation">[docs]</a><span class="k">def</span> <span class="nf">check_installation</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""\</span>
<span class="sd"> Verify if a product is well installed. Checks install directory presence</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">product_compiles</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">True</span>
+ <span class="k">return</span> <span class="kc">True</span>
<span class="n">install_dir</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">install_dir</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">install_dir</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">False</span>
- <span class="k">if</span> <span class="p">(</span><span class="s">"present_files"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"install"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="p">):</span>
+ <span class="k">return</span> <span class="kc">False</span>
+ <span class="k">if</span> <span class="p">(</span><span class="s2">"present_files"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"install"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="p">):</span>
<span class="k">for</span> <span class="n">file_relative_path</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="o">.</span><span class="n">install</span><span class="p">:</span>
<span class="n">file_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">install_dir</span><span class="p">,</span> <span class="n">file_relative_path</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">file_path</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">False</span>
- <span class="k">return</span> <span class="bp">True</span>
-</div>
+ <span class="k">return</span> <span class="kc">False</span>
+ <span class="k">return</span> <span class="kc">True</span></div>
+
<div class="viewcode-block" id="check_source"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.check_source">[docs]</a><span class="k">def</span> <span class="nf">check_source</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Verify if a sources of product is preset. Checks source directory presence</span>
<span class="sd"> </span>
<span class="sd"> :return: True if it is well installed</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"check_source product_info"</span><span class="p">,</span> <span class="n">product_info</span><span class="p">)</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"check_source product_info"</span><span class="p">,</span> <span class="n">product_info</span><span class="p">)</span>
<span class="n">source_dir</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">source_dir</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">source_dir</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">False</span>
- <span class="k">if</span> <span class="p">(</span><span class="s">"present_files"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"source"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="p">):</span>
+ <span class="k">return</span> <span class="kc">False</span>
+ <span class="k">if</span> <span class="p">(</span><span class="s2">"present_files"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"source"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="p">):</span>
<span class="k">for</span> <span class="n">file_relative_path</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">present_files</span><span class="o">.</span><span class="n">source</span><span class="p">:</span>
<span class="n">file_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">source_dir</span><span class="p">,</span> <span class="n">file_relative_path</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">file_path</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">False</span>
- <span class="k">return</span> <span class="bp">True</span>
-</div>
-<div class="viewcode-block" id="product_is_sample"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_sample">[docs]</a><span class="k">def</span> <span class="nf">product_is_sample</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
- <span class="sd">"""Know if a product has the sample type</span>
-<span class="sd"> </span>
-<span class="sd"> :param product_info Config: The configuration specific to </span>
-<span class="sd"> the product</span>
-<span class="sd"> :return: True if the product has the sample type, else False</span>
-<span class="sd"> :rtype: boolean</span>
-<span class="sd"> """</span>
- <span class="k">if</span> <span class="s">'type'</span> <span class="ow">in</span> <span class="n">product_info</span><span class="p">:</span>
- <span class="n">ptype</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">type</span>
- <span class="k">return</span> <span class="n">ptype</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'sample'</span>
- <span class="k">else</span><span class="p">:</span>
- <span class="k">return</span> <span class="bp">False</span>
-</div>
+ <span class="k">return</span> <span class="kc">False</span>
+ <span class="k">return</span> <span class="kc">True</span></div>
+
<div class="viewcode-block" id="product_is_salome"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_salome">[docs]</a><span class="k">def</span> <span class="nf">product_is_salome</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is a SALOME module</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product is a SALOME module, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"is_SALOME_module"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">is_SALOME_module</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"is_SALOME_module"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">is_SALOME_module</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="product_is_fixed"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_fixed">[docs]</a><span class="k">def</span> <span class="nf">product_is_fixed</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is fixed</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">get_src</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">get_source</span>
- <span class="k">return</span> <span class="n">get_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'fixed'</span>
-</div>
+ <span class="k">return</span> <span class="n">get_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'fixed'</span></div>
+
<div class="viewcode-block" id="product_is_native"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_native">[docs]</a><span class="k">def</span> <span class="nf">product_is_native</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is native</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">get_src</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">get_source</span>
- <span class="k">return</span> <span class="n">get_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'native'</span>
-</div>
+ <span class="k">return</span> <span class="n">get_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'native'</span></div>
+
<div class="viewcode-block" id="product_is_dev"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_dev">[docs]</a><span class="k">def</span> <span class="nf">product_is_dev</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is in dev mode</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">dev</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">dev</span>
- <span class="n">res</span> <span class="o">=</span> <span class="p">(</span><span class="n">dev</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'yes'</span><span class="p">)</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'product_is_dev </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">product_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">res</span><span class="p">)</span>
- <span class="c"># if product_info.name == "XDATA": return True #test #10569</span>
- <span class="k">return</span> <span class="n">res</span>
-</div>
+ <span class="n">res</span> <span class="o">=</span> <span class="p">(</span><span class="n">dev</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'yes'</span><span class="p">)</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'product_is_dev </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">product_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">res</span><span class="p">)</span>
+ <span class="c1"># if product_info.name == "XDATA": return True #test #10569</span>
+ <span class="k">return</span> <span class="n">res</span></div>
+
<div class="viewcode-block" id="product_is_debug"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_debug">[docs]</a><span class="k">def</span> <span class="nf">product_is_debug</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is in debug mode</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">debug</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">debug</span>
- <span class="k">return</span> <span class="n">debug</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'yes'</span>
-</div>
+ <span class="k">return</span> <span class="n">debug</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'yes'</span></div>
+
+<div class="viewcode-block" id="product_is_verbose"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_verbose">[docs]</a><span class="k">def</span> <span class="nf">product_is_verbose</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
+ <span class="sd">"""Know if a product is in verbose mode</span>
+<span class="sd"> </span>
+<span class="sd"> :param product_info Config: The configuration specific to </span>
+<span class="sd"> the product</span>
+<span class="sd"> :return: True if the product is in verbose mode, else False</span>
+<span class="sd"> :rtype: boolean</span>
+<span class="sd"> """</span>
+ <span class="n">verbose</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">verbose</span>
+ <span class="k">return</span> <span class="n">verbose</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'yes'</span></div>
+
<div class="viewcode-block" id="product_is_autotools"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_autotools">[docs]</a><span class="k">def</span> <span class="nf">product_is_autotools</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is compiled using the autotools</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">build_src</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">build_source</span>
- <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'autotools'</span>
-</div>
+ <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'autotools'</span></div>
+
<div class="viewcode-block" id="product_is_cmake"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_cmake">[docs]</a><span class="k">def</span> <span class="nf">product_is_cmake</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is compiled using the cmake</span>
<span class="sd"> </span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
<span class="n">build_src</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">build_source</span>
- <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'cmake'</span>
-</div>
+ <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'cmake'</span></div>
+
<div class="viewcode-block" id="product_is_vcs"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_vcs">[docs]</a><span class="k">def</span> <span class="nf">product_is_vcs</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is download using git, svn or cvs (not archive)</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product is vcs, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="n">product_info</span><span class="o">.</span><span class="n">get_source</span> <span class="ow">in</span> <span class="n">AVAILABLE_VCS</span>
-</div>
+ <span class="k">return</span> <span class="n">product_info</span><span class="o">.</span><span class="n">get_source</span> <span class="ow">in</span> <span class="n">AVAILABLE_VCS</span></div>
+
<div class="viewcode-block" id="product_is_smesh_plugin"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_smesh_plugin">[docs]</a><span class="k">def</span> <span class="nf">product_is_smesh_plugin</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is a SMESH plugin</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product is a SMESH plugin, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"smesh_plugin"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">smesh_plugin</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"smesh_plugin"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">smesh_plugin</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="product_is_cpp"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_cpp">[docs]</a><span class="k">def</span> <span class="nf">product_is_cpp</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is cpp</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product is a cpp, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"cpp"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">cpp</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"cpp"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">cpp</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="product_compiles"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_compiles">[docs]</a><span class="k">def</span> <span class="nf">product_compiles</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""\</span>
<span class="sd"> Know if a product compiles or not </span>
<span class="sd"> :return: True if the product compiles, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="ow">not</span><span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"compilation"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">compilation</span> <span class="o">==</span> <span class="s">"no"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="ow">not</span><span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"compilation"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">compilation</span> <span class="o">==</span> <span class="s2">"no"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="product_has_script"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_has_script">[docs]</a><span class="k">def</span> <span class="nf">product_has_script</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has a compilation script</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product it has a compilation script, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">if</span> <span class="s">"build_source"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">product_info</span><span class="p">:</span>
- <span class="c"># Native case</span>
- <span class="k">return</span> <span class="bp">False</span>
+ <span class="k">if</span> <span class="s2">"build_source"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">product_info</span><span class="p">:</span>
+ <span class="c1"># Native case</span>
+ <span class="k">return</span> <span class="kc">False</span>
<span class="n">build_src</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">build_source</span>
- <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'script'</span>
-</div>
+ <span class="k">return</span> <span class="n">build_src</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'script'</span></div>
+
<div class="viewcode-block" id="product_has_env_script"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_has_env_script">[docs]</a><span class="k">def</span> <span class="nf">product_has_env_script</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has an environment script</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product it has an environment script, else False</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="s">"environ"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span> <span class="s">"env_script"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">environ</span>
-</div>
+ <span class="k">return</span> <span class="s2">"environ"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span> <span class="s2">"env_script"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">environ</span></div>
+
<div class="viewcode-block" id="product_has_patches"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_has_patches">[docs]</a><span class="k">def</span> <span class="nf">product_has_patches</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has one or more patches</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product has one or more patches</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="n">res</span> <span class="o">=</span> <span class="p">(</span> <span class="s">"patches"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">product_info</span><span class="o">.</span><span class="n">patches</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> <span class="p">)</span>
- <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'product_has_patches </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">product_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">res</span><span class="p">)</span>
- <span class="c"># if product_info.name == "XDATA": return True #test #10569</span>
- <span class="k">return</span> <span class="n">res</span>
-</div>
+ <span class="n">res</span> <span class="o">=</span> <span class="p">(</span> <span class="s2">"patches"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">product_info</span><span class="o">.</span><span class="n">patches</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> <span class="p">)</span>
+ <span class="n">DBG</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'product_has_patches </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">product_info</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">res</span><span class="p">)</span>
+ <span class="c1"># if product_info.name == "XDATA": return True #test #10569</span>
+ <span class="k">return</span> <span class="n">res</span></div>
+
<div class="viewcode-block" id="product_has_logo"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_has_logo">[docs]</a><span class="k">def</span> <span class="nf">product_has_logo</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has a logo (YACSGEN generate)</span>
<span class="sd"> </span>
<span class="sd"> :return: The path of the logo if the product has a logo, else False</span>
<span class="sd"> :rtype: Str</span>
<span class="sd"> """</span>
- <span class="k">if</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"logo"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="p">):</span>
+ <span class="k">if</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"logo"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="p">):</span>
<span class="k">return</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">logo</span>
<span class="k">else</span><span class="p">:</span>
- <span class="k">return</span> <span class="bp">False</span>
-</div>
+ <span class="k">return</span> <span class="kc">False</span></div>
+
<div class="viewcode-block" id="product_has_salome_gui"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_has_salome_gui">[docs]</a><span class="k">def</span> <span class="nf">product_has_salome_gui</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has a SALOME gui</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product has a SALOME gui, else False</span>
<span class="sd"> :rtype: Boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"has_salome_gui"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">has_salome_gui</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"has_salome_gui"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">has_salome_gui</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="product_is_mpi"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_mpi">[docs]</a><span class="k">def</span> <span class="nf">product_is_mpi</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product has openmpi in its dependencies</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product has openmpi inits dependencies</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="s">"openmpi"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">depend</span>
-</div>
+ <span class="k">return</span> <span class="s2">"openmpi"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">depend</span></div>
+
<div class="viewcode-block" id="product_is_generated"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.product_is_generated">[docs]</a><span class="k">def</span> <span class="nf">product_is_generated</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Know if a product is generated (YACSGEN)</span>
<span class="sd"> </span>
<span class="sd"> :return: True if the product is generated</span>
<span class="sd"> :rtype: boolean</span>
<span class="sd"> """</span>
- <span class="k">return</span> <span class="p">(</span><span class="s">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
- <span class="s">"generate"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
- <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">generate</span> <span class="o">==</span> <span class="s">"yes"</span><span class="p">)</span>
-</div>
+ <span class="k">return</span> <span class="p">(</span><span class="s2">"properties"</span> <span class="ow">in</span> <span class="n">product_info</span> <span class="ow">and</span>
+ <span class="s2">"generate"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span> <span class="ow">and</span>
+ <span class="n">product_info</span><span class="o">.</span><span class="n">properties</span><span class="o">.</span><span class="n">generate</span> <span class="o">==</span> <span class="s2">"yes"</span><span class="p">)</span></div>
+
<div class="viewcode-block" id="get_product_components"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.product.get_product_components">[docs]</a><span class="k">def</span> <span class="nf">get_product_components</span><span class="p">(</span><span class="n">product_info</span><span class="p">):</span>
<span class="sd">"""Get the component list to generate with the product</span>
<span class="sd"> </span>
<span class="k">return</span> <span class="p">[]</span>
<span class="n">compo_list</span> <span class="o">=</span> <span class="p">[]</span>
- <span class="k">if</span> <span class="s">"component_name"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="p">:</span>
+ <span class="k">if</span> <span class="s2">"component_name"</span> <span class="ow">in</span> <span class="n">product_info</span><span class="p">:</span>
<span class="n">compo_list</span> <span class="o">=</span> <span class="n">product_info</span><span class="o">.</span><span class="n">component_name</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">compo_list</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
</div>
</div>
</div>
- <div class="sphinxsidebar">
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../../index.html">
<img class="logo" src="../../_static/sat_v5.0.png" alt="Logo"/>
<ul>
<li><a href="../../index.html">Documentation overview</a><ul>
<li><a href="../index.html">Module code</a><ul>
+ <li><a href="../src.html">src</a><ul>
+ </ul></li>
</ul></li>
</ul></li>
</ul>
</div>
-<div id="searchbox" style="display: none">
+<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
+ <div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
- <p class="searchtip" style="font-size: 90%">
- Enter search terms or a module, class or function name.
- </p>
+ </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
©2018, CEA.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 1.1.3</a>
- & <a href="https://github.com/bitprophet/alabaster">Alabaster </a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 1.7.3</a>
+ & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
</div>