2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <html xmlns="http://www.w3.org/1999/xhtml">
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 <title>src.fileEnviron — salomeTools 5.0.0dev documentation</title>
12 <link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" />
13 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
14 <link rel="stylesheet" href="/volatile/wambeke/SAT5/SAT5_S840_MATIX24/SAT/doc/src/custom.css" type="text/css" />
16 <script type="text/javascript">
17 var DOCUMENTATION_OPTIONS = {
20 COLLAPSE_INDEX: false,
25 <script type="text/javascript" src="../../_static/jquery.js"></script>
26 <script type="text/javascript" src="../../_static/underscore.js"></script>
27 <script type="text/javascript" src="../../_static/doctools.js"></script>
28 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
29 <link rel="top" title="salomeTools 5.0.0dev documentation" href="../../index.html" />
30 <link rel="up" title="Module code" href="../index.html" />
32 <link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
35 <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
41 <div class="document">
42 <div class="documentwrapper">
43 <div class="bodywrapper">
44 <div class="body" role="main">
46 <h1>Source code for src.fileEnviron</h1><div class="highlight"><pre>
47 <span class="c">#!/usr/bin/env python</span>
48 <span class="c">#-*- coding:utf-8 -*-</span>
49 <span class="c"># Copyright (C) 2010-2013 CEA/DEN</span>
50 <span class="c">#</span>
51 <span class="c"># This library is free software; you can redistribute it and/or</span>
52 <span class="c"># modify it under the terms of the GNU Lesser General Public</span>
53 <span class="c"># License as published by the Free Software Foundation; either</span>
54 <span class="c"># version 2.1 of the License.</span>
55 <span class="c">#</span>
56 <span class="c"># This library is distributed in the hope that it will be useful,</span>
57 <span class="c"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
58 <span class="c"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
59 <span class="c"># Lesser General Public License for more details.</span>
60 <span class="c">#</span>
61 <span class="c"># You should have received a copy of the GNU Lesser General Public</span>
62 <span class="c"># License along with this library; if not, write to the Free Software</span>
63 <span class="c"># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
65 <span class="kn">import</span> <span class="nn">os</span>
66 <span class="kn">import</span> <span class="nn">pprint</span> <span class="kn">as</span> <span class="nn">PP</span>
67 <span class="kn">import</span> <span class="nn">src.debug</span> <span class="kn">as</span> <span class="nn">DBG</span>
69 <span class="n">bat_header</span><span class="o">=</span><span class="s">"""</span><span class="se">\</span>
70 <span class="s">@echo off</span>
72 <span class="s">rem The following variables are used only in case of a sat package</span>
73 <span class="s">set out_dir_Path=%~dp0</span>
74 <span class="s">set PRODUCT_OUT_DIR=</span><span class="si">%o</span><span class="s">ut_dir_Path%</span>
75 <span class="s">set prereq_install_Path=</span><span class="si">%o</span><span class="s">ut_dir_Path%\PREREQUISITES\INSTALL</span>
76 <span class="s">set prereq_build_Path=</span><span class="si">%o</span><span class="s">ut_dir_Path%\PREREQUISITES\BUILD</span>
77 <span class="s">"""</span>
80 <span class="n">bash_header</span><span class="o">=</span><span class="s">"""</span><span class="se">\</span>
81 <span class="s">#!/bin/bash</span>
82 <span class="s">##########################################################################</span>
83 <span class="s">#</span>
84 <span class="s">#### cleandup ###</span>
85 <span class="s"># cleanup a path (first parameter) from duplicated entries;</span>
86 <span class="s"># second parameter is the separator</span>
87 <span class="s">cleandup() {</span>
88 <span class="s">out_var=`echo $1 | awk -v sep=$2 '{ </span><span class="se">\\</span><span class="s"></span>
89 <span class="s"> na = split($1,a,sep); </span><span class="se">\\</span><span class="s"></span>
90 <span class="s"> k=0; </span><span class="se">\\</span><span class="s"></span>
91 <span class="s"> for(i=0;i<=na;i++) { </span><span class="se">\\</span><span class="s"></span>
92 <span class="s"> found=0; </span><span class="se">\\</span><span class="s"></span>
93 <span class="s"> for(j=0;j<k;j++) { </span><span class="se">\\</span><span class="s"></span>
94 <span class="s"> if(a[i]==aa[j]) </span><span class="se">\\</span><span class="s"></span>
95 <span class="s"> { </span><span class="se">\\</span><span class="s"></span>
96 <span class="s"> found=1; </span><span class="se">\\</span><span class="s"></span>
97 <span class="s"> break; </span><span class="se">\\</span><span class="s"></span>
98 <span class="s"> }; </span><span class="se">\\</span><span class="s"></span>
99 <span class="s"> }; </span><span class="se">\\</span><span class="s"></span>
100 <span class="s"> if(found==0) { </span><span class="se">\\</span><span class="s"></span>
101 <span class="s"> aa[k++]=a[i]; </span><span class="se">\\</span><span class="s"></span>
102 <span class="s"> }; </span><span class="se">\\</span><span class="s"></span>
103 <span class="s"> }; </span><span class="se">\\</span><span class="s"></span>
104 <span class="s"> ORS=sep; </span><span class="se">\\</span><span class="s"></span>
105 <span class="s"> for(i=0;i<k;i++) { </span><span class="se">\\</span><span class="s"></span>
106 <span class="s"> print aa[i]; </span><span class="se">\\</span><span class="s"></span>
107 <span class="s"> } </span><span class="se">\\</span><span class="s"></span>
108 <span class="s"> }' | sed -e 's|</span><span class="se">\\</span><span class="s">(.*</span><span class="se">\\</span><span class="s">)$1|</span><span class="se">\\</span><span class="s">1|g' -e 's|^[:;]||' -e 's|[:;]$||'`</span>
109 <span class="s">echo $out_var</span>
110 <span class="s">}</span>
111 <span class="s">### clean ###</span>
112 <span class="s">clean ()</span>
113 <span class="s">{</span>
114 <span class="s">xenv=`printenv $1`</span>
115 <span class="s">out_var=`cleandup $xenv $2`</span>
116 <span class="s">export $1=$out_var</span>
117 <span class="s">}</span>
119 <span class="s"># The 3 following variables are used only in case of a sat package</span>
120 <span class="s">export out_dir_Path=$(cd $(dirname ${BASH_SOURCE[0]});pwd)</span>
121 <span class="s">export PRODUCT_OUT_DIR=${out_dir_Path}</span>
122 <span class="s">export PRODUCT_ROOT_DIR=${PRODUCT_OUT_DIR}</span>
124 <span class="s">###########################################################################</span>
125 <span class="s">"""</span>
127 <span class="n">cfg_header</span><span class="o">=</span><span class="s">"""</span><span class="se">\</span>
128 <span class="s">[SALOME Configuration]</span>
129 <span class="s">"""</span>
131 <span class="n">Launcher_header</span><span class="o">=</span><span class="s">"""</span><span class="se">\</span>
132 <span class="s"># a generated SALOME Configuration file using python syntax</span>
133 <span class="s">"""</span>
135 <div class="viewcode-block" id="get_file_environ"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.get_file_environ">[docs]</a><span class="k">def</span> <span class="nf">get_file_environ</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">shell</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
136 <span class="sd">"""Instantiate correct FileEnvironment sub-class.</span>
137 <span class="sd"> </span>
138 <span class="sd"> :param output file: the output file stream.</span>
139 <span class="sd"> :param shell str: the type of shell syntax to use.</span>
140 <span class="sd"> :param environ dict: a potential additional environment.</span>
141 <span class="sd"> """</span>
142 <span class="k">if</span> <span class="n">shell</span> <span class="o">==</span> <span class="s">"bash"</span><span class="p">:</span>
143 <span class="k">return</span> <span class="n">BashFileEnviron</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
144 <span class="k">if</span> <span class="n">shell</span> <span class="o">==</span> <span class="s">"bat"</span><span class="p">:</span>
145 <span class="k">return</span> <span class="n">BatFileEnviron</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
146 <span class="k">if</span> <span class="n">shell</span> <span class="o">==</span> <span class="s">"cfgForPy"</span><span class="p">:</span>
147 <span class="k">return</span> <span class="n">LauncherFileEnviron</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
148 <span class="k">if</span> <span class="n">shell</span> <span class="o">==</span> <span class="s">"cfg"</span><span class="p">:</span>
149 <span class="k">return</span> <span class="n">ContextFileEnviron</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
150 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"FileEnviron: Unknown shell = </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="n">shell</span><span class="p">)</span>
152 <div class="viewcode-block" id="FileEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron">[docs]</a><span class="k">class</span> <span class="nc">FileEnviron</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
153 <span class="sd">"""\</span>
154 <span class="sd"> Base class for shell environment</span>
155 <span class="sd"> """</span>
156 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
157 <span class="sd">"""\</span>
158 <span class="sd"> Initialization</span>
159 <span class="sd"> </span>
160 <span class="sd"> :param output file: the output file stream.</span>
161 <span class="sd"> :param environ dict: a potential additional environment.</span>
162 <span class="sd"> """</span>
163 <span class="bp">self</span><span class="o">.</span><span class="n">_do_init</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
165 <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
166 <span class="sd">"""\</span>
167 <span class="sd"> easy non exhaustive quick resume for debug print"""</span>
168 <span class="n">res</span> <span class="o">=</span> <span class="p">{</span>
169 <span class="s">"output"</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="p">,</span>
170 <span class="s">"environ"</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">,</span>
171 <span class="p">}</span>
172 <span class="k">return</span> <span class="s">"</span><span class="si">%s</span><span class="s">(</span><span class="se">\n</span><span class="si">%s</span><span class="se">\n</span><span class="s">)"</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="n">PP</span><span class="o">.</span><span class="n">pformat</span><span class="p">(</span><span class="n">res</span><span class="p">))</span>
175 <span class="k">def</span> <span class="nf">_do_init</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
176 <span class="sd">"""\</span>
177 <span class="sd"> Initialization</span>
178 <span class="sd"> </span>
179 <span class="sd"> :param output file: the output file stream.</span>
180 <span class="sd"> :param environ dict: a potential additional environment.</span>
181 <span class="sd"> """</span>
182 <span class="bp">self</span><span class="o">.</span><span class="n">output</span> <span class="o">=</span> <span class="n">output</span>
183 <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span> <span class="o">=</span> <span class="p">[]</span>
184 <span class="k">if</span> <span class="n">environ</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
185 <span class="c">#if str(type(environ)) == "<type 'instance'>":</span>
186 <span class="k">if</span> <span class="nb">id</span><span class="p">(</span><span class="n">environ</span><span class="p">)</span> <span class="o">==</span> <span class="nb">id</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span>
187 <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s">"set </span><span class="si">%s</span><span class="s"> environ as python os.environ, are you sure it is safe ?"</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
188 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span> <span class="o">=</span> <span class="n">environ</span>
189 <span class="k">else</span><span class="p">:</span>
190 <span class="n">DBG</span><span class="o">.</span><span class="n">tofix</span><span class="p">(</span><span class="s">"set </span><span class="si">%s</span><span class="s"> environ as COPY of python os.environ, are you sure it is safe ?"</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
191 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">)</span> <span class="c">#make a copy cvw 180320</span>
193 <div class="viewcode-block" id="FileEnviron.add_line"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.add_line">[docs]</a> <span class="k">def</span> <span class="nf">add_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">number</span><span class="p">):</span>
194 <span class="sd">"""\</span>
195 <span class="sd"> Add some empty lines in the shell file</span>
196 <span class="sd"> </span>
197 <span class="sd"> :param number int: the number of lines to add</span>
198 <span class="sd"> """</span>
199 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"</span><span class="se">\n</span><span class="s">"</span> <span class="o">*</span> <span class="n">number</span><span class="p">)</span>
201 <div class="viewcode-block" id="FileEnviron.add_comment"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.add_comment">[docs]</a> <span class="k">def</span> <span class="nf">add_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment</span><span class="p">):</span>
202 <span class="sd">"""\</span>
203 <span class="sd"> Add a comment in the shell file</span>
204 <span class="sd"> </span>
205 <span class="sd"> :param comment str: the comment to add</span>
206 <span class="sd"> """</span>
207 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"# </span><span class="si">%s</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> <span class="n">comment</span><span class="p">)</span>
209 <div class="viewcode-block" id="FileEnviron.add_echo"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.add_echo">[docs]</a> <span class="k">def</span> <span class="nf">add_echo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
210 <span class="sd">"""\</span>
211 <span class="sd"> Add a "echo" in the shell file</span>
212 <span class="sd"> </span>
213 <span class="sd"> :param text str: the text to echo</span>
214 <span class="sd"> """</span>
215 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'echo </span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">text</span><span class="p">)</span>
217 <div class="viewcode-block" id="FileEnviron.add_warning"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.add_warning">[docs]</a> <span class="k">def</span> <span class="nf">add_warning</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">warning</span><span class="p">):</span>
218 <span class="sd">"""\</span>
219 <span class="sd"> Add a warning "echo" in the shell file</span>
220 <span class="sd"> </span>
221 <span class="sd"> :param warning str: the text to echo</span>
222 <span class="sd"> """</span>
223 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'echo "WARNING </span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">warning</span><span class="p">)</span>
225 <div class="viewcode-block" id="FileEnviron.append_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.append_value">[docs]</a> <span class="k">def</span> <span class="nf">append_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
226 <span class="sd">"""\</span>
227 <span class="sd"> append value to key using sep</span>
228 <span class="sd"> </span>
229 <span class="sd"> :param key str: the environment variable to append</span>
230 <span class="sd"> :param value str: the value to append to key</span>
231 <span class="sd"> :param sep str: the separator string</span>
232 <span class="sd"> """</span>
233 <span class="bp">self</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">+</span> <span class="n">sep</span> <span class="o">+</span> <span class="n">value</span><span class="p">)</span>
234 <span class="k">if</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span><span class="p">:</span>
235 <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">))</span>
237 <div class="viewcode-block" id="FileEnviron.append"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.append">[docs]</a> <span class="k">def</span> <span class="nf">append</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
238 <span class="sd">"""\</span>
239 <span class="sd"> Same as append_value but the value argument can be a list</span>
240 <span class="sd"> </span>
241 <span class="sd"> :param key str: the environment variable to append</span>
242 <span class="sd"> :param value str or list: the value(s) to append to key</span>
243 <span class="sd"> :param sep str: the separator string</span>
244 <span class="sd"> """</span>
245 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
246 <span class="bp">self</span><span class="o">.</span><span class="n">append_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">sep</span><span class="p">)</span>
247 <span class="k">else</span><span class="p">:</span>
248 <span class="bp">self</span><span class="o">.</span><span class="n">append_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span>
250 <div class="viewcode-block" id="FileEnviron.prepend_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.prepend_value">[docs]</a> <span class="k">def</span> <span class="nf">prepend_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
251 <span class="sd">"""\</span>
252 <span class="sd"> prepend value to key using sep</span>
253 <span class="sd"> </span>
254 <span class="sd"> :param key str: the environment variable to prepend</span>
255 <span class="sd"> :param value str: the value to prepend to key</span>
256 <span class="sd"> :param sep str: the separator string</span>
257 <span class="sd"> """</span>
258 <span class="bp">self</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="o">+</span> <span class="n">sep</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
259 <span class="k">if</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span><span class="p">:</span>
260 <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">))</span>
262 <div class="viewcode-block" id="FileEnviron.prepend"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.prepend">[docs]</a> <span class="k">def</span> <span class="nf">prepend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
263 <span class="sd">"""\</span>
264 <span class="sd"> Same as prepend_value but the value argument can be a list</span>
265 <span class="sd"> </span>
266 <span class="sd"> :param key str: the environment variable to prepend</span>
267 <span class="sd"> :param value str or list: the value(s) to prepend to key</span>
268 <span class="sd"> :param sep str: the separator string</span>
269 <span class="sd"> """</span>
270 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
271 <span class="bp">self</span><span class="o">.</span><span class="n">prepend_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">sep</span><span class="p">)</span>
272 <span class="k">else</span><span class="p">:</span>
273 <span class="bp">self</span><span class="o">.</span><span class="n">prepend_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span>
275 <div class="viewcode-block" id="FileEnviron.is_defined"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.is_defined">[docs]</a> <span class="k">def</span> <span class="nf">is_defined</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
276 <span class="sd">"""\</span>
277 <span class="sd"> Check if the key exists in the environment</span>
278 <span class="sd"> </span>
279 <span class="sd"> :param key str: the environment variable to check</span>
280 <span class="sd"> """</span>
281 <span class="k">return</span> <span class="p">(</span><span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">)</span>
283 <div class="viewcode-block" id="FileEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
284 <span class="sd">"""\</span>
285 <span class="sd"> Set the environment variable 'key' to value 'value'</span>
286 <span class="sd"> </span>
287 <span class="sd"> :param key str: the environment variable to set</span>
288 <span class="sd"> :param value str: the value</span>
289 <span class="sd"> """</span>
290 <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s">"set is not implement for this shell!"</span><span class="p">)</span>
292 <div class="viewcode-block" id="FileEnviron.get"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
293 <span class="sd">"""\</span>
294 <span class="sd"> Get the value of the environment variable "key"</span>
295 <span class="sd"> </span>
296 <span class="sd"> :param key str: the environment variable</span>
297 <span class="sd"> """</span>
298 <span class="k">return</span> <span class="s">'${</span><span class="si">%s</span><span class="s">}'</span> <span class="o">%</span> <span class="n">key</span>
300 <div class="viewcode-block" id="FileEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
301 <span class="sd">"""\</span>
302 <span class="sd"> Get the value given by the system command "command" </span>
303 <span class="sd"> and put it in the environment variable key.</span>
304 <span class="sd"> Has to be overwritten in the derived classes</span>
305 <span class="sd"> This can be seen as a virtual method</span>
306 <span class="sd"> </span>
307 <span class="sd"> :param key str: the environment variable</span>
308 <span class="sd"> :param command str: the command to execute</span>
309 <span class="sd"> """</span>
310 <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s">"command_value is not implement "</span>
311 <span class="s">"for this shell!"</span><span class="p">)</span>
313 <div class="viewcode-block" id="FileEnviron.finish"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.FileEnviron.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
314 <span class="sd">"""Add a final instruction in the out file (in case of file generation)</span>
315 <span class="sd"> </span>
316 <span class="sd"> :param required bool: Do nothing if required is False</span>
317 <span class="sd"> """</span>
318 <span class="k">for</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span><span class="p">:</span>
319 <span class="k">if</span> <span class="n">sep</span> <span class="o">!=</span> <span class="s">' '</span><span class="p">:</span>
320 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'clean </span><span class="si">%s</span><span class="s"> "</span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="p">))</span>
322 <div class="viewcode-block" id="BashFileEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BashFileEnviron">[docs]</a><span class="k">class</span> <span class="nc">BashFileEnviron</span><span class="p">(</span><span class="n">FileEnviron</span><span class="p">):</span>
323 <span class="sd">"""\</span>
324 <span class="sd"> Class for bash shell.</span>
325 <span class="sd"> """</span>
326 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
327 <span class="sd">"""Initialization</span>
328 <span class="sd"> </span>
329 <span class="sd"> :param output file: the output file stream.</span>
330 <span class="sd"> :param environ dict: a potential additional environment.</span>
331 <span class="sd"> """</span>
332 <span class="bp">self</span><span class="o">.</span><span class="n">_do_init</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
333 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">bash_header</span><span class="p">)</span>
335 <div class="viewcode-block" id="BashFileEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BashFileEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
336 <span class="sd">"""Set the environment variable "key" to value "value"</span>
337 <span class="sd"> </span>
338 <span class="sd"> :param key str: the environment variable to set</span>
339 <span class="sd"> :param value str: the value</span>
340 <span class="sd"> """</span>
341 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'export </span><span class="si">%s</span><span class="s">="</span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
342 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
344 <div class="viewcode-block" id="BashFileEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BashFileEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
345 <span class="sd">"""\</span>
346 <span class="sd"> Get the value given by the system command "command" </span>
347 <span class="sd"> and put it in the environment variable key.</span>
348 <span class="sd"> Has to be overwritten in the derived classes</span>
349 <span class="sd"> This can be seen as a virtual method</span>
350 <span class="sd"> </span>
351 <span class="sd"> :param key str: the environment variable</span>
352 <span class="sd"> :param command str: the command to execute</span>
353 <span class="sd"> """</span>
354 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'export </span><span class="si">%s</span><span class="s">=$(</span><span class="si">%s</span><span class="s">)</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
356 <div class="viewcode-block" id="BashFileEnviron.finish"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BashFileEnviron.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
357 <span class="sd">"""Add a final instruction in the out file (in case of file generation)</span>
358 <span class="sd"> </span>
359 <span class="sd"> :param required bool: Do nothing if required is False</span>
360 <span class="sd"> """</span>
361 <span class="k">if</span> <span class="ow">not</span> <span class="n">required</span><span class="p">:</span>
362 <span class="k">return</span>
363 <span class="n">FileEnviron</span><span class="o">.</span><span class="n">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="p">)</span>
365 <div class="viewcode-block" id="BatFileEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron">[docs]</a><span class="k">class</span> <span class="nc">BatFileEnviron</span><span class="p">(</span><span class="n">FileEnviron</span><span class="p">):</span>
366 <span class="sd">"""\</span>
367 <span class="sd"> for Windows batch shell.</span>
368 <span class="sd"> """</span>
369 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
370 <span class="sd">"""Initialization</span>
371 <span class="sd"> </span>
372 <span class="sd"> :param output file: the output file stream.</span>
373 <span class="sd"> :param environ dict: a potential additional environment.</span>
374 <span class="sd"> """</span>
375 <span class="bp">self</span><span class="o">.</span><span class="n">_do_init</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
376 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">bat_header</span><span class="p">)</span>
378 <div class="viewcode-block" id="BatFileEnviron.add_comment"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron.add_comment">[docs]</a> <span class="k">def</span> <span class="nf">add_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment</span><span class="p">):</span>
379 <span class="sd">"""Add a comment in the shell file</span>
380 <span class="sd"> </span>
381 <span class="sd"> :param comment str: the comment to add</span>
382 <span class="sd"> """</span>
383 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"rem </span><span class="si">%s</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> <span class="n">comment</span><span class="p">)</span>
385 <div class="viewcode-block" id="BatFileEnviron.get"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
386 <span class="sd">"""Get the value of the environment variable "key"</span>
387 <span class="sd"> </span>
388 <span class="sd"> :param key str: the environment variable</span>
389 <span class="sd"> """</span>
390 <span class="k">return</span> <span class="s">'</span><span class="si">%%%s%%</span><span class="s">'</span> <span class="o">%</span> <span class="n">key</span>
392 <div class="viewcode-block" id="BatFileEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
393 <span class="sd">"""Set the environment variable "key" to value "value"</span>
394 <span class="sd"> </span>
395 <span class="sd"> :param key str: the environment variable to set</span>
396 <span class="sd"> :param value str: the value</span>
397 <span class="sd"> """</span>
398 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'set </span><span class="si">%s</span><span class="s">=</span><span class="si">%s</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
399 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
401 <div class="viewcode-block" id="BatFileEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
402 <span class="sd">"""\</span>
403 <span class="sd"> Get the value given by the system command "command" </span>
404 <span class="sd"> and put it in the environment variable key.</span>
405 <span class="sd"> Has to be overwritten in the derived classes</span>
406 <span class="sd"> This can be seen as a virtual method</span>
407 <span class="sd"> </span>
408 <span class="sd"> :param key str: the environment variable</span>
409 <span class="sd"> :param command str: the command to execute</span>
410 <span class="sd"> """</span>
411 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s"> > tmp.txt</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">command</span><span class="p">))</span>
412 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'set /p </span><span class="si">%s</span><span class="s"> =< tmp.txt</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">))</span>
414 <div class="viewcode-block" id="BatFileEnviron.finish"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.BatFileEnviron.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
415 <span class="sd">"""\</span>
416 <span class="sd"> Add a final instruction in the out file (in case of file generation)</span>
417 <span class="sd"> In the particular windows case, do nothing</span>
418 <span class="sd"> </span>
419 <span class="sd"> :param required bool: Do nothing if required is False</span>
420 <span class="sd"> """</span>
421 <span class="k">return</span>
423 <div class="viewcode-block" id="ContextFileEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron">[docs]</a><span class="k">class</span> <span class="nc">ContextFileEnviron</span><span class="p">(</span><span class="n">FileEnviron</span><span class="p">):</span>
424 <span class="sd">"""Class for a salome context configuration file.</span>
425 <span class="sd"> """</span>
426 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
427 <span class="sd">"""Initialization</span>
428 <span class="sd"> </span>
429 <span class="sd"> :param output file: the output file stream.</span>
430 <span class="sd"> :param environ dict: a potential additional environment.</span>
431 <span class="sd"> """</span>
432 <span class="bp">self</span><span class="o">.</span><span class="n">_do_init</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
433 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">cfg_header</span><span class="p">)</span>
435 <div class="viewcode-block" id="ContextFileEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
436 <span class="sd">"""Set the environment variable "key" to value "value"</span>
437 <span class="sd"> </span>
438 <span class="sd"> :param key str: the environment variable to set</span>
439 <span class="sd"> :param value str: the value</span>
440 <span class="sd"> """</span>
441 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s">="</span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
442 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
444 <div class="viewcode-block" id="ContextFileEnviron.get"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
445 <span class="sd">"""Get the value of the environment variable "key"</span>
446 <span class="sd"> </span>
447 <span class="sd"> :param key str: the environment variable</span>
448 <span class="sd"> """</span>
449 <span class="k">return</span> <span class="s">'%({0})s'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
451 <div class="viewcode-block" id="ContextFileEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
452 <span class="sd">"""\</span>
453 <span class="sd"> Get the value given by the system command "command" </span>
454 <span class="sd"> and put it in the environment variable key.</span>
455 <span class="sd"> Has to be overwritten in the derived classes</span>
456 <span class="sd"> This can be seen as a virtual method</span>
457 <span class="sd"> </span>
458 <span class="sd"> :param key str: the environment variable</span>
459 <span class="sd"> :param command str: the command to execute</span>
460 <span class="sd"> """</span>
461 <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s">"command_value is not implement "</span>
462 <span class="s">"for salome context files!"</span><span class="p">)</span>
464 <div class="viewcode-block" id="ContextFileEnviron.add_echo"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.add_echo">[docs]</a> <span class="k">def</span> <span class="nf">add_echo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
465 <span class="sd">"""Add a comment</span>
466 <span class="sd"> </span>
467 <span class="sd"> :param text str: the comment to add</span>
468 <span class="sd"> """</span>
469 <span class="bp">self</span><span class="o">.</span><span class="n">add_comment</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
471 <div class="viewcode-block" id="ContextFileEnviron.add_warning"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.add_warning">[docs]</a> <span class="k">def</span> <span class="nf">add_warning</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">warning</span><span class="p">):</span>
472 <span class="sd">"""Add a warning</span>
473 <span class="sd"> </span>
474 <span class="sd"> :param text str: the warning to add</span>
475 <span class="sd"> """</span>
476 <span class="bp">self</span><span class="o">.</span><span class="n">add_comment</span><span class="p">(</span><span class="s">"WARNING </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="n">warning</span><span class="p">)</span>
478 <div class="viewcode-block" id="ContextFileEnviron.prepend_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.prepend_value">[docs]</a> <span class="k">def</span> <span class="nf">prepend_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
479 <span class="sd">"""prepend value to key using sep</span>
480 <span class="sd"> </span>
481 <span class="sd"> :param key str: the environment variable to prepend</span>
482 <span class="sd"> :param value str: the value to prepend to key</span>
483 <span class="sd"> :param sep str: the separator string</span>
484 <span class="sd"> """</span>
485 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'ADD_TO_</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
487 <div class="viewcode-block" id="ContextFileEnviron.append_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.append_value">[docs]</a> <span class="k">def</span> <span class="nf">append_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span><span class="p">):</span>
488 <span class="sd">"""append value to key using sep</span>
489 <span class="sd"> </span>
490 <span class="sd"> :param key str: the environment variable to append</span>
491 <span class="sd"> :param value str: the value to append to key</span>
492 <span class="sd"> :param sep str: the separator string</span>
493 <span class="sd"> """</span>
494 <span class="bp">self</span><span class="o">.</span><span class="n">prepend_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
496 <div class="viewcode-block" id="ContextFileEnviron.finish"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ContextFileEnviron.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
497 <span class="sd">"""Add a final instruction in the out file (in case of file generation)</span>
498 <span class="sd"> </span>
499 <span class="sd"> :param required bool: Do nothing if required is False</span>
500 <span class="sd"> """</span>
501 <span class="k">return</span>
503 <div class="viewcode-block" id="special_path_separator"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.special_path_separator">[docs]</a><span class="k">def</span> <span class="nf">special_path_separator</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
504 <span class="sd">"""\</span>
505 <span class="sd"> TCLLIBPATH, TKLIBPATH, PV_PLUGIN_PATH environments variables need</span>
506 <span class="sd"> some exotic path separator.</span>
507 <span class="sd"> This function gives the separator regarding the name of the variable</span>
508 <span class="sd"> to append or prepend.</span>
509 <span class="sd"> </span>
510 <span class="sd"> :param name str: The name of the variable to find the separator</span>
511 <span class="sd"> """</span>
512 <span class="n">special_blanks_keys</span><span class="o">=</span><span class="p">[</span><span class="s">"TCLLIBPATH"</span><span class="p">,</span> <span class="s">"TKLIBPATH"</span><span class="p">]</span>
513 <span class="n">special_semicolon_keys</span><span class="o">=</span><span class="p">[</span><span class="s">"PV_PLUGIN_PATH"</span><span class="p">]</span>
514 <span class="n">res</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">pathsep</span>
515 <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">special_blanks_keys</span><span class="p">:</span> <span class="n">res</span><span class="o">=</span><span class="s">" "</span>
516 <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">special_semicolon_keys</span><span class="p">:</span> <span class="n">res</span><span class="o">=</span><span class="s">";"</span>
517 <span class="k">return</span> <span class="n">res</span>
519 <div class="viewcode-block" id="LauncherFileEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron">[docs]</a><span class="k">class</span> <span class="nc">LauncherFileEnviron</span><span class="p">:</span>
520 <span class="sd">"""\</span>
521 <span class="sd"> Class to generate a launcher file script </span>
522 <span class="sd"> (in python syntax) SalomeContext API</span>
523 <span class="sd"> """</span>
524 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
525 <span class="sd">"""Initialization</span>
526 <span class="sd"> </span>
527 <span class="sd"> :param output file: the output file stream.</span>
528 <span class="sd"> :param environ dict: a potential additional environment.</span>
529 <span class="sd"> """</span>
530 <span class="bp">self</span><span class="o">.</span><span class="n">output</span> <span class="o">=</span> <span class="n">output</span>
531 <span class="bp">self</span><span class="o">.</span><span class="n">toclean</span> <span class="o">=</span> <span class="p">[]</span>
532 <span class="k">if</span> <span class="n">environ</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
533 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span> <span class="o">=</span> <span class="n">environ</span>
534 <span class="k">else</span><span class="p">:</span>
535 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span>
536 <span class="c"># Initialize some variables</span>
537 <span class="k">if</span> <span class="ow">not</span> <span class="s">"PATH"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
538 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">"PATH"</span><span class="p">]</span><span class="o">=</span><span class="s">""</span>
539 <span class="k">if</span> <span class="ow">not</span> <span class="s">"LD_LIBRARY_PATH"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
540 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">"LD_LIBRARY_PATH"</span><span class="p">]</span><span class="o">=</span><span class="s">""</span>
541 <span class="k">if</span> <span class="ow">not</span> <span class="s">"PYTHONPATH"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
542 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">"PYTHONPATH"</span><span class="p">]</span><span class="o">=</span><span class="s">""</span>
543 <span class="k">if</span> <span class="ow">not</span> <span class="s">"TCLLIBPATH"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
544 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">"TCLLIBPATH"</span><span class="p">]</span><span class="o">=</span><span class="s">""</span>
545 <span class="k">if</span> <span class="ow">not</span> <span class="s">"TKLIBPATH"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
546 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">"TKLIBPATH"</span><span class="p">]</span><span class="o">=</span><span class="s">""</span>
548 <span class="c"># four whitespaces for first indentation in a python script</span>
549 <span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">=</span><span class="s">" "</span>
550 <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="o">=</span><span class="s">"context."</span>
551 <span class="bp">self</span><span class="o">.</span><span class="n">setVarEnv</span><span class="o">=</span><span class="s">"setVariable"</span>
553 <span class="bp">self</span><span class="o">.</span><span class="n">begin</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span><span class="bp">self</span><span class="o">.</span><span class="n">prefix</span>
554 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">Launcher_header</span><span class="p">)</span>
555 <span class="bp">self</span><span class="o">.</span><span class="n">specialKeys</span><span class="o">=</span><span class="p">{</span><span class="s">"PATH"</span><span class="p">:</span> <span class="s">"Path"</span><span class="p">,</span>
556 <span class="s">"LD_LIBRARY_PATH"</span><span class="p">:</span> <span class="s">"LdLibraryPath"</span><span class="p">,</span>
557 <span class="s">"PYTHONPATH"</span><span class="p">:</span> <span class="s">"PythonPath"</span><span class="p">}</span>
559 <div class="viewcode-block" id="LauncherFileEnviron.change_to_launcher"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.change_to_launcher">[docs]</a> <span class="k">def</span> <span class="nf">change_to_launcher</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
560 <span class="n">res</span><span class="o">=</span><span class="n">value</span>
561 <span class="k">return</span> <span class="n">res</span>
563 <div class="viewcode-block" id="LauncherFileEnviron.add_line"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.add_line">[docs]</a> <span class="k">def</span> <span class="nf">add_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">number</span><span class="p">):</span>
564 <span class="sd">"""Add some empty lines in the launcher file</span>
565 <span class="sd"> </span>
566 <span class="sd"> :param number int: the number of lines to add</span>
567 <span class="sd"> """</span>
568 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"</span><span class="se">\n</span><span class="s">"</span> <span class="o">*</span> <span class="n">number</span><span class="p">)</span>
570 <div class="viewcode-block" id="LauncherFileEnviron.add_echo"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.add_echo">[docs]</a> <span class="k">def</span> <span class="nf">add_echo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
571 <span class="sd">"""Add a comment</span>
572 <span class="sd"> </span>
573 <span class="sd"> :param text str: the comment to add</span>
574 <span class="sd"> """</span>
575 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'# </span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">text</span><span class="p">)</span>
577 <div class="viewcode-block" id="LauncherFileEnviron.add_warning"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.add_warning">[docs]</a> <span class="k">def</span> <span class="nf">add_warning</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">warning</span><span class="p">):</span>
578 <span class="sd">"""Add a warning</span>
579 <span class="sd"> </span>
580 <span class="sd"> :param text str: the warning to add</span>
581 <span class="sd"> """</span>
582 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'# "WARNING </span><span class="si">%s</span><span class="s">"</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">warning</span><span class="p">)</span>
584 <div class="viewcode-block" id="LauncherFileEnviron.append_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.append_value">[docs]</a> <span class="k">def</span> <span class="nf">append_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
585 <span class="sd">"""append value to key using sep</span>
586 <span class="sd"> </span>
587 <span class="sd"> :param key str: the environment variable to append</span>
588 <span class="sd"> :param value str: the value to append to key</span>
589 <span class="sd"> :param sep str: the separator string</span>
590 <span class="sd"> """</span>
591 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_defined</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="p">:</span>
592 <span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
593 <span class="k">else</span> <span class="p">:</span>
594 <span class="bp">self</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
596 <div class="viewcode-block" id="LauncherFileEnviron.append"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.append">[docs]</a> <span class="k">def</span> <span class="nf">append</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
597 <span class="sd">"""Same as append_value but the value argument can be a list</span>
598 <span class="sd"> </span>
599 <span class="sd"> :param key str: the environment variable to append</span>
600 <span class="sd"> :param value str or list: the value(s) to append to key</span>
601 <span class="sd"> :param sep str: the separator string</span>
602 <span class="sd"> """</span>
603 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
604 <span class="bp">self</span><span class="o">.</span><span class="n">append_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">sep</span><span class="p">)</span>
605 <span class="k">else</span><span class="p">:</span>
606 <span class="bp">self</span><span class="o">.</span><span class="n">append_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span>
608 <div class="viewcode-block" id="LauncherFileEnviron.prepend_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.prepend_value">[docs]</a> <span class="k">def</span> <span class="nf">prepend_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
609 <span class="sd">"""prepend value to key using sep</span>
610 <span class="sd"> </span>
611 <span class="sd"> :param key str: the environment variable to prepend</span>
612 <span class="sd"> :param value str: the value to prepend to key</span>
613 <span class="sd"> :param sep str: the separator string</span>
614 <span class="sd"> """</span>
615 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_defined</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="p">:</span>
616 <span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
617 <span class="k">else</span> <span class="p">:</span>
618 <span class="bp">self</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
620 <div class="viewcode-block" id="LauncherFileEnviron.prepend"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.prepend">[docs]</a> <span class="k">def</span> <span class="nf">prepend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
621 <span class="sd">"""Same as prepend_value but the value argument can be a list</span>
622 <span class="sd"> </span>
623 <span class="sd"> :param key str: the environment variable to prepend</span>
624 <span class="sd"> :param value str or list: the value(s) to prepend to key</span>
625 <span class="sd"> :param sep str: the separator string</span>
626 <span class="sd"> """</span>
627 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
628 <span class="bp">self</span><span class="o">.</span><span class="n">prepend_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">sep</span><span class="p">)</span>
629 <span class="k">else</span><span class="p">:</span>
630 <span class="bp">self</span><span class="o">.</span><span class="n">prepend_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="p">)</span>
632 <div class="viewcode-block" id="LauncherFileEnviron.is_defined"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.is_defined">[docs]</a> <span class="k">def</span> <span class="nf">is_defined</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
633 <span class="sd">"""Check if the key exists in the environment</span>
634 <span class="sd"> </span>
635 <span class="sd"> :param key str: the environment variable to check</span>
636 <span class="sd"> """</span>
637 <span class="k">return</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
639 <div class="viewcode-block" id="LauncherFileEnviron.get"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
640 <span class="sd">"""Get the value of the environment variable "key"</span>
641 <span class="sd"> </span>
642 <span class="sd"> :param key str: the environment variable</span>
643 <span class="sd"> """</span>
644 <span class="k">return</span> <span class="s">'${</span><span class="si">%s</span><span class="s">}'</span> <span class="o">%</span> <span class="n">key</span>
646 <div class="viewcode-block" id="LauncherFileEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
647 <span class="sd">"""Set the environment variable "key" to value "value"</span>
648 <span class="sd"> </span>
649 <span class="sd"> :param key str: the environment variable to set</span>
650 <span class="sd"> :param value str: the value</span>
651 <span class="sd"> """</span>
652 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">begin</span><span class="o">+</span><span class="bp">self</span><span class="o">.</span><span class="n">setVarEnv</span><span class="o">+</span>
653 <span class="s">'(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">", overwrite=True)</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span>
654 <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">change_to_launcher</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
655 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
657 <div class="viewcode-block" id="LauncherFileEnviron.add"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.add">[docs]</a> <span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
658 <span class="sd">"""prepend value to key using sep</span>
659 <span class="sd"> </span>
660 <span class="sd"> :param key str: the environment variable to prepend</span>
661 <span class="sd"> :param value str: the value to prepend to key</span>
662 <span class="sd"> """</span>
663 <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">specialKeys</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
664 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">begin</span><span class="o">+</span><span class="s">'addTo</span><span class="si">%s</span><span class="s">(r"</span><span class="si">%s</span><span class="s">")</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span>
665 <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">specialKeys</span><span class="p">[</span><span class="n">key</span><span class="p">],</span>
666 <span class="bp">self</span><span class="o">.</span><span class="n">change_to_launcher</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
667 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">+=</span><span class="s">":"</span><span class="o">+</span><span class="n">value</span>
668 <span class="k">return</span>
669 <span class="n">sep</span><span class="o">=</span><span class="n">special_path_separator</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
670 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span>
671 <span class="s">'#temporary solution!!! have to be defined in API a '</span>
672 <span class="s">'?dangerous? addToSpecial(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">")</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span>
673 <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
674 <span class="c">#pathsep not precised because do not know future os launch?</span>
675 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">begin</span><span class="o">+</span><span class="s">'addToSpecial(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">")</span><span class="se">\n</span><span class="s">'</span>
676 <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">change_to_launcher</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
677 <span class="bp">self</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">+=</span><span class="n">sep</span><span class="o">+</span><span class="n">value</span> <span class="c">#here yes we know os for current execution</span>
679 <div class="viewcode-block" id="LauncherFileEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
680 <span class="sd">"""\</span>
681 <span class="sd"> Get the value given by the system command "command" </span>
682 <span class="sd"> and put it in the environment variable key.</span>
683 <span class="sd"> </span>
684 <span class="sd"> :param key str: the environment variable</span>
685 <span class="sd"> :param command str: the command to execute</span>
686 <span class="sd"> """</span>
687 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span><span class="s">'#`</span><span class="si">%s</span><span class="s">`</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">command</span><span class="p">)</span>
689 <span class="kn">import</span> <span class="nn">shlex</span><span class="o">,</span> <span class="nn">subprocess</span>
690 <span class="n">args</span> <span class="o">=</span> <span class="n">shlex</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
691 <span class="n">res</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
692 <span class="n">out</span><span class="p">,</span> <span class="n">__</span> <span class="o">=</span> <span class="n">res</span><span class="o">.</span><span class="n">communicate</span><span class="p">()</span>
693 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">begin</span><span class="o">+</span>
694 <span class="bp">self</span><span class="o">.</span><span class="n">setVarEnv</span><span class="o">+</span>
695 <span class="s">'(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">", overwrite=True)</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">out</span><span class="p">))</span>
697 <div class="viewcode-block" id="LauncherFileEnviron.add_comment"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.add_comment">[docs]</a> <span class="k">def</span> <span class="nf">add_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment</span><span class="p">):</span>
698 <span class="c"># Special comment in case of the distène licence</span>
699 <span class="k">if</span> <span class="n">comment</span><span class="o">==</span><span class="s">"DISTENE license"</span><span class="p">:</span>
700 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span>
701 <span class="s">"#"</span><span class="o">+</span>
702 <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="o">+</span>
703 <span class="bp">self</span><span class="o">.</span><span class="n">setVarEnv</span><span class="o">+</span>
704 <span class="s">'(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">", overwrite=True)</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span>
705 <span class="p">(</span><span class="s">'DISTENE_LICENSE_FILE'</span><span class="p">,</span>
706 <span class="bp">self</span><span class="o">.</span><span class="n">change_to_launcher</span><span class="p">(</span>
707 <span class="s">'Use global envvar: DLIM8VAR'</span><span class="p">)))</span>
708 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span>
709 <span class="s">"#"</span><span class="o">+</span>
710 <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="o">+</span>
711 <span class="bp">self</span><span class="o">.</span><span class="n">setVarEnv</span><span class="o">+</span>
712 <span class="s">'(r"</span><span class="si">%s</span><span class="s">", r"</span><span class="si">%s</span><span class="s">", overwrite=True)</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span>
713 <span class="p">(</span><span class="s">'DLIM8VAR'</span><span class="p">,</span>
714 <span class="bp">self</span><span class="o">.</span><span class="n">change_to_launcher</span><span class="p">(</span>
715 <span class="s">'<your licence>'</span><span class="p">)))</span>
716 <span class="k">return</span>
717 <span class="k">if</span> <span class="s">"setting environ for"</span> <span class="ow">in</span> <span class="n">comment</span><span class="p">:</span>
718 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span><span class="s">"#[</span><span class="si">%s</span><span class="s">]</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span>
719 <span class="n">comment</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"setting environ for "</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
720 <span class="k">return</span>
722 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indent</span><span class="o">+</span><span class="s">"# </span><span class="si">%s</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> <span class="n">comment</span><span class="p">)</span>
724 <div class="viewcode-block" id="LauncherFileEnviron.finish"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.LauncherFileEnviron.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
725 <span class="sd">"""\</span>
726 <span class="sd"> Add a final instruction in the out file (in case of file generation)</span>
727 <span class="sd"> In the particular launcher case, do nothing</span>
728 <span class="sd"> </span>
729 <span class="sd"> :param required bool: Do nothing if required is False</span>
730 <span class="sd"> """</span>
731 <span class="k">return</span>
733 <div class="viewcode-block" id="ScreenEnviron"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron">[docs]</a><span class="k">class</span> <span class="nc">ScreenEnviron</span><span class="p">(</span><span class="n">FileEnviron</span><span class="p">):</span>
734 <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
735 <span class="bp">self</span><span class="o">.</span><span class="n">_do_init</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">environ</span><span class="p">)</span>
736 <span class="bp">self</span><span class="o">.</span><span class="n">defined</span> <span class="o">=</span> <span class="p">{}</span>
738 <div class="viewcode-block" id="ScreenEnviron.add_line"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.add_line">[docs]</a> <span class="k">def</span> <span class="nf">add_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">number</span><span class="p">):</span>
739 <span class="k">pass</span>
741 <div class="viewcode-block" id="ScreenEnviron.add_comment"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.add_comment">[docs]</a> <span class="k">def</span> <span class="nf">add_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment</span><span class="p">):</span>
742 <span class="k">pass</span>
744 <div class="viewcode-block" id="ScreenEnviron.add_echo"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.add_echo">[docs]</a> <span class="k">def</span> <span class="nf">add_echo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
745 <span class="k">pass</span>
747 <div class="viewcode-block" id="ScreenEnviron.add_warning"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.add_warning">[docs]</a> <span class="k">def</span> <span class="nf">add_warning</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">warning</span><span class="p">):</span>
748 <span class="k">pass</span>
750 <div class="viewcode-block" id="ScreenEnviron.write"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.write">[docs]</a> <span class="k">def</span> <span class="nf">write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sign</span><span class="o">=</span><span class="s">"="</span><span class="p">):</span>
751 <span class="kn">import</span> <span class="nn">src</span>
752 <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">" </span><span class="si">%s%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="se">\n</span><span class="s">"</span> <span class="o">%</span> \
753 <span class="p">(</span><span class="n">src</span><span class="o">.</span><span class="n">printcolors</span><span class="o">.</span><span class="n">printcLabel</span><span class="p">(</span><span class="n">command</span><span class="p">),</span>
754 <span class="s">" "</span> <span class="o">*</span> <span class="p">(</span><span class="mi">12</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">command</span><span class="p">)),</span>
755 <span class="n">src</span><span class="o">.</span><span class="n">printcolors</span><span class="o">.</span><span class="n">printcInfo</span><span class="p">(</span><span class="n">name</span><span class="p">),</span> <span class="n">sign</span><span class="p">,</span> <span class="n">value</span><span class="p">))</span>
757 <div class="viewcode-block" id="ScreenEnviron.is_defined"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.is_defined">[docs]</a> <span class="k">def</span> <span class="nf">is_defined</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
758 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">defined</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
760 <div class="viewcode-block" id="ScreenEnviron.get"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
761 <span class="k">return</span> <span class="s">"${</span><span class="si">%s</span><span class="s">}"</span> <span class="o">%</span> <span class="n">name</span>
763 <div class="viewcode-block" id="ScreenEnviron.set"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.set">[docs]</a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
764 <span class="bp">self</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"set"</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
765 <span class="bp">self</span><span class="o">.</span><span class="n">defined</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
767 <div class="viewcode-block" id="ScreenEnviron.prepend"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.prepend">[docs]</a> <span class="k">def</span> <span class="nf">prepend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
768 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
769 <span class="n">value</span> <span class="o">=</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
770 <span class="n">value</span> <span class="o">=</span> <span class="n">value</span> <span class="o">+</span> <span class="n">sep</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
771 <span class="bp">self</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"prepend"</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
773 <div class="viewcode-block" id="ScreenEnviron.append"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.append">[docs]</a> <span class="k">def</span> <span class="nf">append</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">":"</span><span class="p">):</span>
774 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
775 <span class="n">value</span> <span class="o">=</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
776 <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o">+</span> <span class="n">sep</span> <span class="o">+</span> <span class="n">value</span>
777 <span class="bp">self</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"append"</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
779 <div class="viewcode-block" id="ScreenEnviron.command_value"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.command_value">[docs]</a> <span class="k">def</span> <span class="nf">command_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">):</span>
780 <span class="k">pass</span>
782 <div class="viewcode-block" id="ScreenEnviron.run_env_script"><a class="viewcode-back" href="../../commands/apidoc/src.html#src.fileEnviron.ScreenEnviron.run_env_script">[docs]</a> <span class="k">def</span> <span class="nf">run_env_script</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">module</span><span class="p">,</span> <span class="n">script</span><span class="p">):</span>
783 <span class="bp">self</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"load"</span><span class="p">,</span> <span class="n">script</span><span class="p">,</span> <span class="s">""</span><span class="p">,</span> <span class="n">sign</span><span class="o">=</span><span class="s">""</span><span class="p">)</span>
785 <span class="c"># The SALOME launcher template </span></div></div>
786 <span class="n">withProfile</span> <span class="o">=</span> <span class="s">"""</span><span class="se">\</span>
787 <span class="s"> #! /usr/bin/env python</span>
789 <span class="s">################################################################</span>
790 <span class="s"># WARNING: this file is automatically generated by SalomeTools #</span>
791 <span class="s"># WARNING: and so could be overwritten at any time. #</span>
792 <span class="s">################################################################</span>
794 <span class="s">import os</span>
795 <span class="s">import sys</span>
796 <span class="s">import subprocess</span>
799 <span class="s"># Add the pwdPath to able to run the launcher after unpacking a package</span>
800 <span class="s"># Used only in case of a salomeTools package</span>
801 <span class="s">out_dir_Path=os.path.abspath(os.path.dirname(__file__))</span>
803 <span class="s"># Preliminary work to initialize path to SALOME Python modules</span>
804 <span class="s">def __initialize():</span>
806 <span class="s"> sys.path[:0] = [ 'BIN_KERNEL_INSTALL_DIR' ]</span>
807 <span class="s"> os.environ['ABSOLUTE_APPLI_PATH'] = 'KERNEL_INSTALL_DIR'</span>
808 <span class="s"> </span>
809 <span class="s"> # define folder to store omniorb config (initially in virtual application folder)</span>
810 <span class="s"> try:</span>
811 <span class="s"> from salomeContextUtils import setOmniOrbUserPath</span>
812 <span class="s"> setOmniOrbUserPath()</span>
813 <span class="s"> except Exception, e:</span>
814 <span class="s"> print e</span>
815 <span class="s"> sys.exit(1)</span>
816 <span class="s"># End of preliminary work</span>
818 <span class="s"># salome doc only works for virtual applications. Therefore we overwrite it with this function</span>
819 <span class="s">def _showDoc(modules):</span>
820 <span class="s"> for module in modules:</span>
821 <span class="s"> modulePath = os.getenv(module+"_ROOT_DIR")</span>
822 <span class="s"> if modulePath != None:</span>
823 <span class="s"> baseDir = os.path.join(modulePath, "share", "doc", "salome")</span>
824 <span class="s"> docfile = os.path.join(baseDir, "gui", module.upper(), "index.html")</span>
825 <span class="s"> if not os.path.isfile(docfile):</span>
826 <span class="s"> docfile = os.path.join(baseDir, "tui", module.upper(), "index.html")</span>
827 <span class="s"> if not os.path.isfile(docfile):</span>
828 <span class="s"> docfile = os.path.join(baseDir, "dev", module.upper(), "index.html")</span>
829 <span class="s"> if os.path.isfile(docfile):</span>
830 <span class="s"> out, err = subprocess.Popen(["xdg-open", docfile]).communicate()</span>
831 <span class="s"> else:</span>
832 <span class="s"> print "Online documentation is not accessible for module:", module</span>
833 <span class="s"> else:</span>
834 <span class="s"> print module+"_ROOT_DIR not found!"</span>
836 <span class="s">def main(args):</span>
837 <span class="s"> # Identify application path then locate configuration files</span>
838 <span class="s"> __initialize()</span>
840 <span class="s"> if args == ['--help']:</span>
841 <span class="s"> from salomeContext import usage</span>
842 <span class="s"> usage()</span>
843 <span class="s"> sys.exit(0)</span>
845 <span class="s"> #from salomeContextUtils import getConfigFileNames</span>
846 <span class="s"> #configFileNames, args, unexisting = getConfigFileNames( args, checkExistence=True )</span>
847 <span class="s"> #if len(unexisting) > 0:</span>
848 <span class="s"> # print "ERROR: unexisting configuration file(s): " + ', '.join(unexisting)</span>
849 <span class="s"> # sys.exit(1)</span>
851 <span class="s"> # Create a SalomeContext which parses configFileNames to initialize environment</span>
852 <span class="s"> try:</span>
853 <span class="s"> from salomeContext import SalomeContext, SalomeContextException</span>
854 <span class="s"> SalomeContext.addToSpecial=addToSpecial</span>
855 <span class="s"> context = SalomeContext(None)</span>
856 <span class="s"> </span>
857 <span class="s"> # Here set specific variables, if needed</span>
858 <span class="s"> # context.addToPath('mypath')</span>
859 <span class="s"> # context.addToLdLibraryPath('myldlibrarypath')</span>
860 <span class="s"> # context.addToPythonPath('mypythonpath')</span>
861 <span class="s"> # context.setVariable('myvarname', 'value')</span>
863 <span class="s"> # Logger level error</span>
864 <span class="s"> context.getLogger().setLevel(40)</span>
866 <span class="s"> context.setVariable(r"PRODUCT_ROOT_DIR", out_dir_Path, overwrite=True)</span>
867 <span class="s"> # here your local standalone environment</span>
869 <span class="s"> if len(args) >1 and args[0]=='doc':</span>
870 <span class="s"> _showDoc(args[1:])</span>
871 <span class="s"> return</span>
873 <span class="s"> # Start SALOME, parsing command line arguments</span>
874 <span class="s"> context.runSalome(args)</span>
875 <span class="s"> #print 'Thank you for using SALOME!'</span>
877 <span class="s"> # Logger level info</span>
878 <span class="s"> context.getLogger().setLevel(20)</span>
880 <span class="s"> except SalomeContextException, e:</span>
881 <span class="s"> import logging</span>
882 <span class="s"> logging.getLogger("salome").error(e)</span>
883 <span class="s"> sys.exit(1)</span>
884 <span class="s">#</span>
885 <span class="s">def addToSpecial(self, name, value, pathSep=None):</span>
886 <span class="s"> # add special dangerous cases: TCLLIBPATH PV_PLUGIN_PATH etc...</span>
887 <span class="s"> # http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm</span>
888 <span class="s"> # TCLLIBPATH: Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows.</span>
889 <span class="s"> if value == '':</span>
890 <span class="s"> return</span>
891 <span class="s"> </span>
892 <span class="s"> specialBlanksKeys=["TCLLIBPATH", "TKLIBPATH"]</span>
893 <span class="s"> specialSemicolonKeys=["PV_PLUGIN_PATH"]</span>
894 <span class="s"> res=os.pathsep</span>
895 <span class="s"> if name in specialBlanksKeys: res=" "</span>
896 <span class="s"> if name in specialSemicolonKeys: res=";"</span>
897 <span class="s"> </span>
898 <span class="s"> if pathSep==None:</span>
899 <span class="s"> sep=res</span>
900 <span class="s"> else:</span>
901 <span class="s"> sep=pathSep</span>
902 <span class="s"> value = os.path.expandvars(value) # expand environment variables</span>
903 <span class="s"> self.getLogger().debug("Add to </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">", name, value)</span>
904 <span class="s"> env = os.getenv(name, None)</span>
905 <span class="s"> if env is None:</span>
906 <span class="s"> os.environ[name] = value</span>
907 <span class="s"> else:</span>
908 <span class="s"> os.environ[name] = value + sep + env #explicitely or not special path separator ?whitespace, semicolon?</span>
910 <span class="s">if __name__ == "__main__":</span>
911 <span class="s"> args = sys.argv[1:]</span>
912 <span class="s"> main(args)</span>
913 <span class="s">#</span>
914 <span class="s">"""</span>
921 <div class="sphinxsidebar">
922 <div class="sphinxsidebarwrapper">
923 <p class="logo"><a href="../../index.html">
924 <img class="logo" src="../../_static/sat_v5.0.png" alt="Logo"/>
925 </a></p><div class="relations">
926 <h3>Related Topics</h3>
928 <li><a href="../../index.html">Documentation overview</a><ul>
929 <li><a href="../index.html">Module code</a><ul>
934 <div id="searchbox" style="display: none">
935 <h3>Quick search</h3>
936 <form class="search" action="../../search.html" method="get">
937 <input type="text" name="q" />
938 <input type="submit" value="Go" />
939 <input type="hidden" name="check_keywords" value="yes" />
940 <input type="hidden" name="area" value="default" />
942 <p class="searchtip" style="font-size: 90%">
943 Enter search terms or a module, class or function name.
946 <script type="text/javascript">$('#searchbox').show(0);</script>
949 <div class="clearer"></div>
955 Powered by <a href="http://sphinx-doc.org/">Sphinx 1.1.3</a>
956 & <a href="https://github.com/bitprophet/alabaster">Alabaster </a>