X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FdaComposant%2FdaCore%2FPlatformInfo.py;h=f23b2a217004ab7f0c73a2149de3db5b449975e1;hb=ba52f8705ad24049d6fa5957da1cbe00d7bcb4d6;hp=45eafeeaa6d4f73372ea4177f446920aaca1581d;hpb=58e3efe3bafde4a6439b8947e9e6336d77fe7aad;p=modules%2Fadao.git diff --git a/src/daComposant/daCore/PlatformInfo.py b/src/daComposant/daCore/PlatformInfo.py index 45eafee..f23b2a2 100644 --- a/src/daComposant/daCore/PlatformInfo.py +++ b/src/daComposant/daCore/PlatformInfo.py @@ -1,6 +1,6 @@ # -*- 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 @@ -21,7 +21,7 @@ # Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D """ - Informations sur le code et la plateforme, et mise à jour des chemins + Informations sur le code et la plateforme, et mise à jour des chemins. La classe "PlatformInfo" permet de récupérer les informations générales sur le code et la plateforme sous forme de strings, ou d'afficher directement @@ -49,6 +49,7 @@ import sys import platform import locale import logging +import re # ============================================================================== class PlatformInfo(object): @@ -116,6 +117,12 @@ class PlatformInfo(object): __msg += "\n%s%30s : %s" %(__prefix,"sys.getfilesystemencoding",str(sys.getfilesystemencoding())) __msg += "\n%s%30s : %s" %(__prefix,"locale.getdefaultlocale",str(locale.getdefaultlocale())) __msg += "\n" + __msg += "\n%s%30s : %s" %(__prefix,"os.cpu_count",os.cpu_count()) + if hasattr(os, 'sched_getaffinity'): + __msg += "\n%s%30s : %s" %(__prefix,"len(os.sched_getaffinity(0))",len(os.sched_getaffinity(0))) + else: + __msg += "\n%s%30s : %s" %(__prefix,"len(os.sched_getaffinity(0))","Unsupported on this platform") + __msg += "\n" __msg += "\n%s%30s : %s" %(__prefix,"platform.node",platform.node()) __msg += "\n%s%30s : %s" %(__prefix,"os.path.expanduser",os.path.expanduser('~')) return __msg @@ -287,6 +294,34 @@ def date2int( __date, __lang="FR" ): 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(';\s*;',';',__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