]> SALOME platform Git repositories - modules/kernel.git/blob - bin/appliskel/getAppliPath.py
Salome HOME
CCAR: improve SALOME application generation : links all subdirectories in share/salome
[modules/kernel.git] / bin / appliskel / getAppliPath.py
1 #!/usr/bin/env python
2 #  -*- coding: iso-8859-1 -*-
3 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
4 #
5 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
6 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
7 #
8 #  This library is free software; you can redistribute it and/or
9 #  modify it under the terms of the GNU Lesser General Public
10 #  License as published by the Free Software Foundation; either
11 #  version 2.1 of the License.
12 #
13 #  This library is distributed in the hope that it will be useful,
14 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 #  Lesser General Public License for more details.
17 #
18 #  You should have received a copy of the GNU Lesser General Public
19 #  License along with this library; if not, write to the Free Software
20 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21 #
22 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #
24 import os
25
26 def relpath(target, base):
27     """ Find relative path from base to target
28         if target== "/local/chris/appli" and base== "/local/chris" the result is appli
29         if target== /tmp/appli and base /local/chris the result is ../../tmp/appli
30     """
31     target=target.split(os.path.sep)
32     base=base.split(os.path.sep)
33     for i in xrange(len(base)):
34       if base[i] != target[i]:
35         i=i-1
36         #not in base
37         break
38     p=['..']*(len(base)-i-1)+target[i+1:]
39     if p == []:
40       return '.'
41     return os.path.join( *p )
42
43 def set_var(VAR, strpath):
44     """Set VAR environment variable """
45     value = "%r" % strpath
46     shell = os.getenv('SHELL')
47     if shell and shell.endswith('csh'):
48         return "setenv %s %s" % (VAR, value)
49     else:
50         return "export %s=%s" % (VAR, value)
51         
52
53 applipath=relpath(os.path.realpath(os.path.dirname(__file__)),os.path.realpath(os.getenv('HOME')))
54
55 #print set_var('APPLI', applipath)
56 print applipath