From 398934a95b5d126c525d11264b39ccc4e9a8634c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 15 Aug 2022 17:58:54 +0200 Subject: simdata: deduplicate code --- simdata.py | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/simdata.py b/simdata.py index 102fd63..6dfed8d 100644 --- a/simdata.py +++ b/simdata.py @@ -34,13 +34,15 @@ class _RefinedSlice(object): if time < 0 and iteration < 0: raise TypeError('Neither time nor iteration provided') + trial_df = sd._df + if time >= 0: - self.it = sd._df._iter_from_time(time) + self.it = trial_df._iter_from_time(time) else: self.it = iteration try: - s = sd._df.slice(it = self.it, rl = rl.n) + s = trial_df.slice(it = self.it, rl = rl.n) self.time = s.time except KeyError: if time < 0: @@ -48,20 +50,7 @@ class _RefinedSlice(object): else: raise IndexError('No such time: ' + str(time)) - # pick a representative datafile and get the grid properties from it - if 'H' in self._sd.df: - df = self._sd.df['H'] - else: - df = None - for key in self._sd.df: - if '.' in key: - continue - df = self._sd.df[key] - break - if df is None: - raise IndexError - - ds = df.slice(self.it, rl = rl.n) + ds = trial_df.slice(self.it, rl = rl.n) self.c = ds.layout.coords self.x, self.y, self.z = self.c -- cgit v1.2.3