[Python-checkins] python/nondist/sandbox/datetime datetime.h,1.16,1.17 doc.txt,1.50,1.51

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Fri, 13 Dec 2002 11:00:57 -0800


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

Modified Files:
	datetime.h doc.txt 
Log Message:
Fleshed out the collection of type-check macros -- I'm gonna need them.


Index: datetime.h
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** datetime.h	13 Dec 2002 01:13:46 -0000	1.16
--- datetime.h	13 Dec 2002 19:00:53 -0000	1.17
***************
*** 102,106 ****
--- 102,125 ----
            ((PyDateTime_Time*)o)->data[5])
  
+ #define PyDate_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateType)
+ #define PyDate_CheckExact(op) ((op)->ob_type == &PyDateTime_DateType)
+ 
+ #define PyDateTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeType)
+ #define PyDateTime_CheckExact(op) ((op)->ob_type == &PyDateTime_DateTimeType)
+ 
+ #define PyDateTimeTZ_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeTZType)
+ #define PyDateTimeTZ_CheckExact(op) ((op)->ob_type == &PyDateTime_DateTimeTZType)
+ 
+ #define PyTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeType)
+ #define PyTime_CheckExact(op) ((op)->ob_type == &PyDateTime_TimeType)
+ 
+ #define PyTimeTZ_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeTZType)
+ #define PyTimeTZ_CheckExact(op) ((op)->ob_type == &PyDateTime_TimeTZType)
+ 
+ #define PyDelta_Check(op) PyObject_TypeCheck(op, &PyDateTime_DeltaType)
+ #define PyDelta_CheckExact(op) ((op)->ob_type == &PyDateTime_DeltaType)
+ 
  #define PyTZInfo_Check(op) PyObject_TypeCheck(op, &PyDateTime_TZInfoType)
+ #define PyTZInfo_CheckExact(op) ((op)->ob_type == &PyDateTime_TZInfoType)
  
  #endif

Index: doc.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/doc.txt,v
retrieving revision 1.50
retrieving revision 1.51
diff -C2 -d -r1.50 -r1.51
*** doc.txt	12 Dec 2002 23:06:51 -0000	1.50
--- doc.txt	13 Dec 2002 19:00:54 -0000	1.51
***************
*** 857,862 ****
--- 857,888 ----
      PyDateTime_Date
      PyDateTime_DateTime
+     PyDateTime_DateTimeTZ
      PyDateTime_Time
+     PyDateTime_TimeTZ
      PyDateTime_Delta
+     PyDateTime_TZInfo
+ 
+ Type-check macros:
+ 
+     PyDate_Check(op)
+     PyDate_CheckExact(op)
+ 
+     PyDateTime_Check(op)
+     PyDateTime_CheckExact(op)
+ 
+     PyDateTimeTZ_Check(op)
+     PyDateTimeTZ_CheckExact(op)
+ 
+     PyTime_Check(op)
+     PyTime_CheckExact(op)
+ 
+     PyTimeTZ_Check(op)
+     PyTimeTZ_CheckExact(op)
+ 
+     PyDelta_Check(op)
+     PyDelta_CheckExact(op)
+ 
+     PyTZInfo_Check(op)
+     PyTZInfo_CheckExact(op
  
  Accessor macros:
***************
*** 865,874 ****
  return ints:
  
!     For date instances:
          PyDateTime_GET_YEAR(o)
          PyDateTime_GET_MONTH(o)
          PyDateTime_GET_DAY(o)
  
!     For datetime and date instances:
          PyDateTime_DATE_GET_HOUR(o)
          PyDateTime_DATE_GET_MINUTE(o)
--- 891,900 ----
  return ints:
  
!     For date, datetime, and datetimetz instances:
          PyDateTime_GET_YEAR(o)
          PyDateTime_GET_MONTH(o)
          PyDateTime_GET_DAY(o)
  
!     For datetime and datetimetz instances:
          PyDateTime_DATE_GET_HOUR(o)
          PyDateTime_DATE_GET_MINUTE(o)
***************
*** 876,887 ****
          PyDateTime_DATE_GET_MICROSECOND(o)
  
!     For time instances:
          PyDateTime_TIME_GET_HOUR(o)
          PyDateTime_TIME_GET_MINUTE(o)
          PyDateTime_TIME_GET_SECOND(o)
          PyDateTime_TIME_GET_MICROSECOND(o)
- 
-     For checking whether an object is a tzinfo instance; however,
-     note that Py_None is almost always allowed when a tzinfo argument
-     is expected:
-         PyTZInfo_Check(op)
--- 902,908 ----
          PyDateTime_DATE_GET_MICROSECOND(o)
  
!     For time and timetz instances:
          PyDateTime_TIME_GET_HOUR(o)
          PyDateTime_TIME_GET_MINUTE(o)
          PyDateTime_TIME_GET_SECOND(o)
          PyDateTime_TIME_GET_MICROSECOND(o)