Salome HOME
Updated environment and import/export directives
[modules/kernel.git] / src / Utils / Utils_Identity.py
1 #! /usr/bin/env python
2 #
3 #  SALOME Utils : general SALOME's definitions and tools
4 #
5 #  Copyright (C) 2003  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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
23 #
24 #
25 #
26 #  File   : Utils_Identity.py
27 #  Author : Estelle Deville, CEA
28 #  Module : SALOME
29 #  $Header$
30
31 import sys
32 import os
33 import socket
34 import pwd
35 import time
36 import string
37
38 def getShortHostName():
39     """
40     gives Hostname without domain extension.
41     SALOME naming service needs short Hostnames (without domain extension).
42     HOSTNAME is not allways defined in environment,
43     socket.gethostname() gives short or complete Hostname, depending on
44     defined aliases.
45     """
46     return string.split(socket.gethostname(),'.')[0]
47
48 class Identity:
49     def __init__(self,name):
50         self._name = name
51         self._pid =  os.getpid()
52         self._machine = socket.gethostname()
53         self._adip      =  socket.gethostbyname(self._machine) # IP adress
54         self._uid       = os.getuid() 
55         list = pwd.getpwuid(self._uid)
56         self._pwname    = list[0] # user name
57         self._tc_start  = time.time()
58         self._cstart    = time.ctime(self._tc_start)
59         self._cdir      = os.getcwd()
60
61 def getapplipath():
62     """
63       Gives short application path (the complete path is $HOME/$APPLI)
64     """
65     return os.environ.get("APPLI",".salome_"+versnb)
66
67 try:
68   file = open(os.path.join(os.environ["KERNEL_ROOT_DIR"],"bin","salome","VERSION"), "r")
69   s = file.readline()
70   versnb = string.strip(string.split(s, ":")[1])
71   dirname=".salome_"+versnb
72 except:
73   versnb = ""
74   dirname=".salome"
75
76 def version():
77     """
78       Gives salome version number
79     """
80     return versnb