# -*- coding: utf-8 -*-
#
-# Copyright (C) 2008-2021 EDF R&D
+# Copyright (C) 2008-2022 EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
import platform
import locale
import logging
+import re
# ==============================================================================
class PlatformInfo(object):
__msg += "\n%s%30s : %s" %(__prefix,"platform.dist",str(platform.dist()))
elif sys.platform.startswith('darwin'):
if hasattr(platform, 'mac_ver'):
- __macosxv = {'5': 'Leopard', '6': 'Snow Leopard', '7': 'Lion',
- '8': 'Mountain Lion', '9': 'Mavericks', '10': 'Yosemite',
- '11': 'El Capitan', '12': 'Sierra'}
+ __macosxv = {
+ '0': 'Cheetah', '1': 'Puma', '2': 'Jaguar',
+ '3': 'Panther', '4': 'Tiger', '5': 'Leopard',
+ '6': 'Snow Leopard', '7': 'Lion', '8': 'Mountain Lion',
+ '9': 'Mavericks', '10': 'Yosemite', '11': 'El Capitan',
+ '12': 'Sierra', '13': 'High Sierra', '14': 'Mojave',
+ '15': 'Catalina', '16': 'Big Sur', '17': 'Monterey',
+ }
for key in __macosxv:
if (platform.mac_ver()[0].split('.')[1] == key):
__msg += "\n%s%30s : %s" %(__prefix,
- "platform.mac_ver",str(platform.mac_ver()[0]+"(" + macosx_dict[key]+")"))
+ "platform.mac_ver",str(platform.mac_ver()[0]+"(" + __macosxv[key]+")"))
elif hasattr(platform, 'dist'):
__msg += "\n%s%30s : %s" %(__prefix,"platform.dist",str(platform.dist()))
elif os.name == 'nt':
raise ValueError("Cannot convert \"%s\" as a D/M/Y H:M date"%d)
return __number
+def strvect2liststr( __strvect ):
+ """
+ Fonction de secours, conversion d'une chaîne de caractères de
+ représentation de vecteur en une liste de chaînes de caractères de
+ représentation de flottants
+ """
+ for s in ("array", "matrix", "list", "tuple", "[", "]", "(", ")"):
+ __strvect = __strvect.replace(s,"") # Rien
+ for s in (",", ";"):
+ __strvect = __strvect.replace(s," ") # Blanc
+ return __strvect.split()
+
+def strmatrix2liststr( __strvect ):
+ """
+ Fonction de secours, conversion d'une chaîne de caractères de
+ représentation de matrice en une liste de chaînes de caractères de
+ représentation de flottants
+ """
+ for s in ("array", "matrix", "list", "tuple", "[", "(", "'", '"'):
+ __strvect = __strvect.replace(s,"") # Rien
+ __strvect = __strvect.replace(","," ") # Blanc
+ for s in ("]", ")"):
+ __strvect = __strvect.replace(s,";") # "]" et ")" par ";"
+ __strvect = re.sub(r';\s*;',r';',__strvect)
+ __strvect = __strvect.rstrip(";") # Après ^ et avant v
+ __strmat = [l.split() for l in __strvect.split(";")]
+ return __strmat
+
def checkFileNameConformity( __filename, __warnInsteadOfPrint=True ):
if sys.platform.startswith("win") and len(__filename) > 256:
__conform = False
self.__paths["daNumerics"] = os.path.join(parent,"daNumerics")
#
for v in self.__paths.values():
- sys.path.insert(0, v )
+ if os.path.isdir(v): sys.path.insert(0, v )
#
# Conserve en unique exemplaire chaque chemin
sys.path = uniq( sys.path )