Changeset 1518

Show
Ignore:
Timestamp:
09/30/08 23:46:55 (2 months ago)
Author:
pierregm
Message:

* make sure that a reshaping of the dates is not propagated

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/timeseries/scikits/timeseries/tests/test_timeseries.py

    r1517 r1518  
    601601        assert_equal(test1D._series.shape, newshape) 
    602602        assert_equal(test1D._dates.shape, newshape) 
     603        # Make sure we haven't propagated the new shape 
     604        self.failUnless(test1D.shape != series1D.shape) 
     605        self.failUnless(test1D._dates.shape != series1D._dates.shape) 
    603606        # Using .shape 
    604607        test1D = series1D.copy() 
     
    607610        assert_equal(test1D._series.shape, newshape) 
    608611        assert_equal(test1D._dates.shape, newshape) 
     612        self.failUnless(series1D._dates.shape != newshape) 
    609613        # Using multiple args 
    610614        test1D = series1D.reshape(*newshape) 
  • trunk/timeseries/scikits/timeseries/tseries.py

    r1418 r1518  
    465465        # Only update the dates if we don't have any 
    466466        if not getattr(_dates, 'size', 0): 
    467             self._dates = newdates 
     467            self.__setdates__(newdates) 
    468468        MaskedArray._update_from(self, obj) 
    469469 
     
    636636    def __setattr__(self, attr, value): 
    637637        if attr in ['_dates','dates']: 
    638             self.__setdates__(value) 
     638            return self.__setdates__(value) 
    639639        elif attr == 'shape': 
    640640            if self._varshape: 
    641641                err_msg = "Reshaping a nV/nD series is not implemented yet !" 
    642642                raise NotImplementedError(err_msg) 
     643            else: 
     644                self._dates.shape = value 
    643645        return ndarray.__setattr__(self, attr, value) 
    644646 
     
    668670        elif not varshape: 
    669671            # The data is 1D 
    670             value.shape = self.shape 
     672            value = value.reshape(self.shape) 
     673#            value.shape = self.shape 
    671674        return super(TimeSeries, self).__setattr__('_dates', value) 
    672675 
     
    15961599    newseries = tmpdata.view(type(series)) 
    15971600    newseries._varshape = newvarshape 
    1598     newseries._dates = date_array(start_date=start_date, 
    1599                                   length=len(newseries), 
    1600                                   freq=to_freq) 
     1601    newseries._dates = newdates 
    16011602    newseries._update_from(series) 
    16021603    return newseries