# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
'getShortHostName',
'getAppName',
'getPortNumber',
+ 'getLogDir',
'getTmpDir',
'getHomeDir',
'generateFileName',
"""
Get omniORB current configuration.
Returns a list of three values: [ orb_version, host_name, port_number ].
-
+
The information is retrieved from the omniORB configuration file defined
by the OMNIORB_CONFIG environment variable.
If omniORB configuration file can not be accessed, a list of three empty
def getUserName():
"""
Get user name:
- 1. try USER environment variable
- 2. if fails, return 'unknown' as default user name
+ 1. try USER environment variable (USERNAME on windows)
+ 2. if fails, try LOGNAME (un*x)
+ 3. if fails return 'unknown' as default user name
"""
- import os
- return os.getenv( "USER", "unknown" ) # 'unknown' is default user name
-
+ import os, sys
+ if sys.platform == "win32":
+ return os.getenv("USERNAME", "unknown")
+ else:
+ user = os.getenv("USER")
+ if user:
+ return user
+ return os.getenv("LOGNAME", "unknown")
# ---
def getHostName():
except:
pass
return "unknown" # 'unknown' is default host name
-
+
# ---
def getAppName():
"""
Get home directory.
"""
- import os, sys
- if sys.platform == "win32":
- # for Windows the home directory is detected in the following way:
- # 1. try USERPROFILE env variable
- # 2. try combination of HOMEDRIVE and HOMEPATH env variables
- # 3. try HOME env variable
- # TODO: on Windows, also GetUserProfileDirectoryW() system function might be used
- dir = os.getenv("USERPROFILE")
- if not dir and os.getenv("HOMEDRIVE") and os.getenv("HOMEPATH"):
- dir = os.path.join(os.getenv("HOMEDRIVE"), os.getenv("HOMEPATH"))
- if not dir:
- dir = os.getenv("HOME")
- pass
- else:
- # for Linux: use HOME variable
- dir = os.getenv("HOME")
- pass
- return dir
+ import os
+ return os.path.realpath(os.path.expanduser('~'))
+# ---
+
+def getLogDir():
+ """
+ Get directory to be used for the log files.
+ """
+ import os
+ return os.path.join(getTmpDir(), "logs", getUserName())
# ---
def getTmpDir():
"""
Get directory to be used for the temporary files.
"""
- import os, sys
- if sys.platform == "win32":
- # for Windows: temporarily using home directory for tmp files;
- # to be replaced with TEMP environment variable later...
- dir = os.getenv("HOME")
- else:
- # for Linux: use /tmp/logs/{user} folder
- dir = os.path.join( '/tmp', 'logs', getUserName() )
- pass
- return dir
-
+ import os, tempfile
+ f = tempfile.NamedTemporaryFile()
+ tmpdir = os.path.dirname(f.name)
+ f.close()
+ return tmpdir
# ---
def generateFileName( dir, prefix = None, suffix = None, extension = None,
pass
#
return _verbose
+# --
def setVerbose(level):
"""
global _verbose
_verbose = level
return
-
+# --