-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
#
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
# 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
#
import os
+import sys
+######
+# Warning: relpath might be replaced by equivalent os.relpath introduced in
+# Python 2.6 (Calibre 7).
+# It is still here to ensure compatibility with Calibre 6 (Python 2.5)
def relpath(target, base):
""" Find relative path from base to target
if target== "/local/chris/appli" and base== "/local/chris" the result is appli
"""
target=target.split(os.path.sep)
base=base.split(os.path.sep)
- for i in xrange(len(base)):
+ for i in range(len(base)):
if base[i] != target[i]:
i=i-1
#not in base
if p == []:
return '.'
return os.path.join( *p )
+#
-def set_var(VAR, strpath):
- """Set VAR environment variable """
- value = "%r" % strpath
- shell = os.getenv('SHELL')
- if shell and shell.endswith('csh'):
- return "setenv %s %s" % (VAR, value)
- else:
- return "export %s=%s" % (VAR, value)
+def get_appli_path(filePath=None):
+ if filePath is None:
+ filePath = os.path.realpath(os.path.dirname(__file__))
+
+ homePath = os.path.realpath(os.path.expanduser("~"))
+ applipath = os.path.relpath(filePath, homePath)
+ return applipath
+#
if __name__ == "__main__":
- applipath=relpath(os.path.realpath(os.path.dirname(__file__)),os.path.realpath(os.getenv('HOME')))
- print applipath
+ if sys.hexversion < 0x02060000: # Python older than 2.6.0
+ applipath = relpath(os.path.realpath(os.path.dirname(__file__)),os.path.realpath(os.path.expanduser("~")))
+ else:
+ applipath = get_appli_path()
+ print(applipath)
+#