From 5ca9e73e1833551607c4db7a8505bdc0f07247e1 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Tue, 5 Nov 2019 13:30:38 +0100 Subject: [PATCH 1/3] [Issue241] Not a bug: the los were not available in ids. But __repr__() now more robust in debug mode: falls back to __class__.__name__ if instance not valid --- tofu/imas2tofu/_core.py | 10 +++++++++- tofu/utils.py | 12 +++++++----- tofu/version.py | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/tofu/imas2tofu/_core.py b/tofu/imas2tofu/_core.py index 44440a544..dc1b1a135 100644 --- a/tofu/imas2tofu/_core.py +++ b/tofu/imas2tofu/_core.py @@ -2699,7 +2699,14 @@ def _to_Cam_Du(self, ids, lk, indch, nan=None, pos=None): u = np.array([oo[:,1,0]*np.cos(oo[:,1,2]), oo[:,1,0]*np.sin(oo[:,1,2]), oo[:,1,1]]) u = (u-D) / np.sqrt(np.sum((u-D)**2, axis=0))[None,:] - dgeom = (D,u) + dgeom = (D, u) + indnan = np.any(np.isnan(D), axis=0) | np.any(np.isnan(u), axis=0) + if np.any(indnan): + nunav, ntot = str(indnan.sum()), str(D.shape[1]) + msg = "Some lines of sight geometry unavailable in ids:\n" + msg += " - nb. of LOS unavailable: %s / %s\n"%(nunav, ntot) + msg += " - indices: %s"%str(indnan.nonzero()[0]) + warnings.warn(msg) else: dgeom = None @@ -2935,6 +2942,7 @@ def to_Data(self, ids=None, dsig=None, data=None, X=None, tlim=None, dchans=dchans) cam.Id.set_dUSR( {'imas-nchMax': nchMax} ) + # ----------------------- # data lk = sorted(dsig.keys()) diff --git a/tofu/utils.py b/tofu/utils.py index 9b78bde8b..38a54167a 100644 --- a/tofu/utils.py +++ b/tofu/utils.py @@ -1451,11 +1451,13 @@ def _get_summary(cls, lar, lcol, # pass def __repr__(self): - if hasattr(self, 'get_summary'): - return self.get_summary(return_='msg', verb=False) - else: - return object.__repr__(self) - + try: + if hasattr(self, 'get_summary'): + return self.get_summary(return_='msg', verb=False) + else: + return object.__repr__(self) + except Exception: + return self.__class__.__name__ ############################# # strip and to/from dict diff --git a/tofu/version.py b/tofu/version.py index 9b4e6a6dc..9d010635f 100644 --- a/tofu/version.py +++ b/tofu/version.py @@ -1,2 +1,2 @@ # Do not edit, pipeline versioning governed by git tags! -__version__ = '1.4.1-177-g5b98902' +__version__ = '1.4.1-188-g044d87f' From d25622d15ad37b465dd39f6b0f5524a0c2593811 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Tue, 5 Nov 2019 13:40:53 +0100 Subject: [PATCH 2/3] [Issue241] PEP8 Compliance --- tofu/imas2tofu/_core.py | 4 ++-- tofu/version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tofu/imas2tofu/_core.py b/tofu/imas2tofu/_core.py index dc1b1a135..f77593453 100644 --- a/tofu/imas2tofu/_core.py +++ b/tofu/imas2tofu/_core.py @@ -2704,8 +2704,8 @@ def _to_Cam_Du(self, ids, lk, indch, nan=None, pos=None): if np.any(indnan): nunav, ntot = str(indnan.sum()), str(D.shape[1]) msg = "Some lines of sight geometry unavailable in ids:\n" - msg += " - nb. of LOS unavailable: %s / %s\n"%(nunav, ntot) - msg += " - indices: %s"%str(indnan.nonzero()[0]) + msg += " - unavailable LOS: {0} / {1}\n".format(nunav, ntot) + msg += " - indices: {0}"%format(str(indnan.nonzero()[0])) warnings.warn(msg) else: dgeom = None diff --git a/tofu/version.py b/tofu/version.py index 9d010635f..1ce076643 100644 --- a/tofu/version.py +++ b/tofu/version.py @@ -1,2 +1,2 @@ # Do not edit, pipeline versioning governed by git tags! -__version__ = '1.4.1-188-g044d87f' +__version__ = '1.4.1-189-g5ca9e73' From eb7855ac30e33e9016d547e0a6f1a1c68a8b0f40 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Tue, 5 Nov 2019 13:43:43 +0100 Subject: [PATCH 3/3] [Issue241] PEP8 Compliance 2 --- tofu/imas2tofu/_core.py | 2 +- tofu/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tofu/imas2tofu/_core.py b/tofu/imas2tofu/_core.py index f77593453..da640dc47 100644 --- a/tofu/imas2tofu/_core.py +++ b/tofu/imas2tofu/_core.py @@ -2705,7 +2705,7 @@ def _to_Cam_Du(self, ids, lk, indch, nan=None, pos=None): nunav, ntot = str(indnan.sum()), str(D.shape[1]) msg = "Some lines of sight geometry unavailable in ids:\n" msg += " - unavailable LOS: {0} / {1}\n".format(nunav, ntot) - msg += " - indices: {0}"%format(str(indnan.nonzero()[0])) + msg += " - indices: {0}".format(str(indnan.nonzero()[0])) warnings.warn(msg) else: dgeom = None diff --git a/tofu/version.py b/tofu/version.py index 1ce076643..3a178e146 100644 --- a/tofu/version.py +++ b/tofu/version.py @@ -1,2 +1,2 @@ # Do not edit, pipeline versioning governed by git tags! -__version__ = '1.4.1-189-g5ca9e73' +__version__ = '1.4.1-190-gd25622d'