nejucomo avatar nejucomo committed dff08f5

Fix another date/datetime comparison bug.

Comments (0)

Files changed (1)

         for rdep in self.rdeps:
             (d, b) = rdep.get_deadline_constraint()
             assert d is not None, 'invariant failure; get_deadline_constraint & check_deadlines do not agree.'
-            if due is None or d < due:
+            if due is None or cmp_datetimes(d, due) < 0:
                 (due, because) = (d, b)
         return (due, because)
 
 
     def coerce(dt):
         if not isinstance(dt, datetime.datetime):
-            dt = datetime.datetime(dt.year, dt.month, dt.day, 0, 0, 0)
+            # We use the last second so that specific datetimes sort before general dates:
+            dt = datetime.datetime(dt.year, dt.month, dt.day, 23, 59, 59)
         return dt
 
     return cmp(coerce(a), coerce(b))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.