[Python-checkins] python/nondist/sandbox/datetime datetime.py,1.155,1.156 test_datetime.py,1.108,1.109

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Fri, 31 Jan 2003 13:52:17 -0800


Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory sc8-pr-cvs1:/tmp/cvs-serv10623

Modified Files:
	datetime.py test_datetime.py 
Log Message:
__setstate__() no longer needs to be public, and shoudn't be public
because all datetime objects are immutable.


Index: datetime.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.py,v
retrieving revision 1.155
retrieving revision 1.156
diff -C2 -d -r1.155 -r1.156
*** datetime.py	30 Jan 2003 22:01:30 -0000	1.155
--- datetime.py	31 Jan 2003 21:52:15 -0000	1.156
***************
*** 618,624 ****
          return (self.__days, self.__seconds, self.__microseconds)
  
-     def __setstate__(self, tup):
-         self.__days, self.__seconds, self.__microseconds = tup
- 
      def __reduce__(self):
          return (self.__class__, self.__getstate__())
--- 618,621 ----
***************
*** 668,672 ****
              # Pickle support
              self = object.__new__(cls)
!             self.__setstate__((year,))
              return self
          _check_date_fields(year, month, day)
--- 665,669 ----
              # Pickle support
              self = object.__new__(cls)
!             self.__setstate((year,))
              return self
          _check_date_fields(year, month, day)
***************
*** 860,864 ****
          return ("%c%c%c%c" % (yhi, ylo, self.__month, self.__day), )
  
!     def __setstate__(self, t):
          assert isinstance(t, tuple) and len(t) == 1, `t`
          string = t[0]
--- 857,861 ----
          return ("%c%c%c%c" % (yhi, ylo, self.__month, self.__day), )
  
!     def __setstate(self, t):
          assert isinstance(t, tuple) and len(t) == 1, `t`
          string = t[0]
***************
*** 986,990 ****
          if isinstance(hour, str):
              # Pickle support
!             self.__setstate__((hour, minute or None))
              return self
          _check_tzinfo_arg(tzinfo)
--- 983,987 ----
          if isinstance(hour, str):
              # Pickle support
!             self.__setstate((hour, minute or None))
              return self
          _check_tzinfo_arg(tzinfo)
***************
*** 1190,1199 ****
              return (basestate, self._tzinfo)
  
!     def __setstate__(self, state):
!         if not isinstance(state, tuple):
!             raise TypeError("time.__setstate__() requires a tuple arg")
!         if not 1 <= len(state) <= 2:
!             raise TypeError("time.__setstate__() requires a 1-tuple or "
!                             "2-tuple argument")
          string = state[0]
          assert len(string) == 6
--- 1187,1193 ----
              return (basestate, self._tzinfo)
  
!     def __setstate(self, state):
!         assert isinstance(state, tuple)
!         assert 1 <= len(state) <= 2
          string = state[0]
          assert len(string) == 6
***************
*** 1225,1229 ****
              # Pickle support
              self = date.__new__(cls, 1, 1, 1)
!             self.__setstate__((year, month))
              return self
          _check_tzinfo_arg(tzinfo)
--- 1219,1223 ----
              # Pickle support
              self = date.__new__(cls, 1, 1, 1)
!             self.__setstate((year, month))
              return self
          _check_tzinfo_arg(tzinfo)
***************
*** 1588,1597 ****
              return (basestate, self._tzinfo)
  
!     def __setstate__(self, state):
!         if not isinstance(state, tuple):
!             raise TypeError("datetime.__setstate__() requires a tuple arg")
!         if not 1 <= len(state) <= 2:
!             raise TypeError("datetime.__setstate__() requires a 1-tuple or "
!                             "2-tuple argument")
          string = state[0]
          assert len(string) == 10
--- 1582,1588 ----
              return (basestate, self._tzinfo)
  
!     def __setstate(self, state):
!         assert isinstance(state, tuple)
!         assert 1 <= len(state) <= 2
          string = state[0]
          assert len(string) == 10

Index: test_datetime.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/test_datetime.py,v
retrieving revision 1.108
retrieving revision 1.109
diff -C2 -d -r1.108 -r1.109
*** test_datetime.py	30 Jan 2003 22:01:39 -0000	1.108
--- test_datetime.py	31 Jan 2003 21:52:15 -0000	1.109
***************
*** 279,289 ****
          state = orig.__getstate__()
          self.assertEqual(args, state)
-         derived = timedelta()
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
      def test_compare(self):
--- 279,286 ----
          state = orig.__getstate__()
          self.assertEqual(args, state)
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
      def test_compare(self):
***************
*** 836,846 ****
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17',), self.theclass)
-         derived = self.theclass(1, 1, 1)
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
      def test_compare(self):
--- 833,840 ----
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17',), self.theclass)
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
      def test_compare(self):
***************
*** 1193,1203 ****
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17\x14\x3b\x01\x00\x10\x00',))
-         derived = self.theclass(1, 1, 1)
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
      def test_more_compare(self):
--- 1187,1194 ----
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17\x14\x3b\x01\x00\x10\x00',))
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
      def test_more_compare(self):
***************
*** 1577,1587 ****
          state = orig.__getstate__()
          self.assertEqual(state, ('\x14\x3b\x10\x00\x10\x00',))
-         derived = self.theclass()
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
      def test_bool(self):
--- 1568,1575 ----
          state = orig.__getstate__()
          self.assertEqual(state, ('\x14\x3b\x10\x00\x10\x00',))
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
      def test_bool(self):
***************
*** 1890,1920 ****
          state = orig.__getstate__()
          self.assertEqual(state, ('\x14\x3b\x10\x00\x10\x00',))
-         derived = self.theclass()
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
          # Try one with a tzinfo.
          tinfo = PicklableFixedOffset(-300, 'cookie')
          orig = self.theclass(5, 6, 7, tzinfo=tinfo)
-         state = orig.__getstate__()
-         derived = self.theclass(tzinfo=FixedOffset(0, "UTC", 0))
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
-         self.failUnless(isinstance(derived.tzinfo, PicklableFixedOffset))
-         self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
-         self.assertEqual(derived.tzname(), 'cookie')
- 
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
!                 self.failUnless(isinstance(derived.tzinfo,
!                                 PicklableFixedOffset))
!                 self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
!                 self.assertEqual(derived.tzname(), 'cookie')
  
      def test_more_bool(self):
--- 1878,1896 ----
          state = orig.__getstate__()
          self.assertEqual(state, ('\x14\x3b\x10\x00\x10\x00',))
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
          # Try one with a tzinfo.
          tinfo = PicklableFixedOffset(-300, 'cookie')
          orig = self.theclass(5, 6, 7, tzinfo=tinfo)
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
!             self.failUnless(isinstance(derived.tzinfo, PicklableFixedOffset))
!             self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
!             self.assertEqual(derived.tzname(), 'cookie')
  
      def test_more_bool(self):
***************
*** 2105,2135 ****
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17\x14\x3b\x01\x00\x10\x00',))
-         derived = self.theclass(1, 1, 1)
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
  
          # Try one with a tzinfo.
          tinfo = PicklableFixedOffset(-300, 'cookie')
          orig = self.theclass(*args, **{'tzinfo': tinfo})
-         state = orig.__getstate__()
          derived = self.theclass(1, 1, 1, tzinfo=FixedOffset(0, "", 0))
-         derived.__setstate__(state)
-         self.assertEqual(orig, derived)
-         self.failUnless(isinstance(derived.tzinfo, PicklableFixedOffset))
-         self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
-         self.assertEqual(derived.tzname(), 'cookie')
- 
          for pickler, unpickler, proto in pickle_choices:
!                 green = pickler.dumps(orig, proto)
!                 derived = unpickler.loads(green)
!                 self.assertEqual(orig, derived)
!                 self.failUnless(isinstance(derived.tzinfo,
!                                 PicklableFixedOffset))
!                 self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
!                 self.assertEqual(derived.tzname(), 'cookie')
  
      def test_extreme_hashes(self):
--- 2081,2101 ----
          state = orig.__getstate__()
          self.assertEqual(state, ('\x00\x06\x07\x17\x14\x3b\x01\x00\x10\x00',))
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
  
          # Try one with a tzinfo.
          tinfo = PicklableFixedOffset(-300, 'cookie')
          orig = self.theclass(*args, **{'tzinfo': tinfo})
          derived = self.theclass(1, 1, 1, tzinfo=FixedOffset(0, "", 0))
          for pickler, unpickler, proto in pickle_choices:
!             green = pickler.dumps(orig, proto)
!             derived = unpickler.loads(green)
!             self.assertEqual(orig, derived)
!             self.failUnless(isinstance(derived.tzinfo,
!                             PicklableFixedOffset))
!             self.assertEqual(derived.utcoffset(), timedelta(minutes=-300))
!             self.assertEqual(derived.tzname(), 'cookie')
  
      def test_extreme_hashes(self):