Code

Remove the '=' padding from cookie value so quoting isn't an issue.
[roundup.git] / roundup / date.py
index 4bdf11125a19b23fab63dc34adf88ea956408ade..ef65d87f86fb7c1c099777fc8910f11f13094d26 100644 (file)
@@ -4,7 +4,7 @@
 # under the same terms as Python, so long as this copyright message and
 # disclaimer are retained in their original form.
 #
-# IN NO EVENT SHALL THE BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
+# IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
 # POSSIBILITY OF SUCH DAMAGE.
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: date.py,v 1.9 2001-08-07 00:15:51 richard Exp $
+# $Id: date.py,v 1.13 2001-09-18 22:58:37 richard Exp $
 
 import time, re, calendar
 
@@ -71,8 +71,6 @@ class Date:
         >>> Date("14:25", -5)
         <Date 2000-06-25.19:25:00>
     '''
-    isDate = 1
-
     def __init__(self, spec='.', offset=0):
         """Construct a date given a specification and a time zone offset.
 
@@ -116,7 +114,7 @@ class Date:
              1. an interval from this date to produce another date.
              2. a date from this date to produce an interval.
         """
-        if other.isDate:
+        if isinstance(other, Date):
             # TODO this code will fall over laughing if the dates cross
             # leap years, phases of the moon, ....
             a = calendar.timegm((self.year, self.month, self.day, self.hour,
@@ -239,8 +237,6 @@ class Interval:
         >>> Date(". + 2d") - Interval("3w")
         <Date 2000-06-07.00:34:02>
     '''
-    isInterval = 1
-
     def __init__(self, spec, sign=1):
         """Construct an interval given a specification."""
         if type(spec) == type(''):
@@ -321,14 +317,17 @@ class Interval:
         '''
         if self.year or self.month > 2:
             return None
-        if self.month:
+        if self.month or self.day > 13:
             days = (self.month * 30) + self.day
             if days > 28:
-                return '%s months'%int(days/30)
+                if int(days/30) > 1:
+                    return '%s months'%int(days/30)
+                else:
+                    return '1 month'
             else:
                 return '%s weeks'%int(days/7)
         if self.day > 7:
-            return '%s weeks'%self.day
+            return '1 week'
         if self.day > 1:
             return '%s days'%self.day
         if self.day == 1 or self.hour > 12:
@@ -380,6 +379,20 @@ if __name__ == '__main__':
 
 #
 # $Log: not supported by cvs2svn $
+# Revision 1.12  2001/08/17 03:08:11  richard
+# fixed prettification of intervals of 1 week
+#
+# Revision 1.11  2001/08/15 23:43:18  richard
+# Fixed some isFooTypes that I missed.
+# Refactored some code in the CGI code.
+#
+# Revision 1.10  2001/08/07 00:24:42  richard
+# stupid typo
+#
+# Revision 1.9  2001/08/07 00:15:51  richard
+# Added the copyright/license notice to (nearly) all files at request of
+# Bizar Software.
+#
 # Revision 1.8  2001/08/05 07:46:12  richard
 # Changed date.Date to use regular string formatting instead of strftime -
 # win32 seems to have problems with %T and no hour... or something...